方法 : Windows Presentation Foundation XAML ブラウザ アプリケーションのサンプル プロジェクト ファイルを作成する

更新 : 2007 年 11 月

この例のプロジェクト ファイルは、XAML ブラウザ アプリケーション (XBAP) 用で、アプリケーション定義ファイル、ページを自動的に開くように構成されている App、および XAML と分離コードで定義されている HomePage が含まれます。主な構成の詳細は次のとおりです。

  • OutputType: winexe に設定します。

  • HostInBrowser : XAML ブラウザ アプリケーション (XBAP) をブラウザによってホストする必要があるため、true に設定する必要があります。

  • Install : XAML ブラウザ アプリケーション (XBAP) はインストールされないため、false に設定する必要があります。

  • TargetZone : XAML ブラウザ アプリケーション (XBAP) はインターネット セキュリティ ゾーンで実行されるため、"Internet" に設定する必要があります。

  • StartAction : "Program" に設定する必要があります。

  • StartProgram : ブラウザによるアプリケーションのホストを処理するプログラムに設定する必要があります。

  • StartArguments : 拡張子が .xbap のアプリケーション マニフェストへのパスに設定する必要があります。

  • App.xaml: ApplicationDefinition 要素として構成するアプリケーション定義ファイル。

  • HomePage.xaml: Page 要素として宣言する XAML ファイル。

  • HomePage.xaml: Compile 要素として宣言する分離コード ファイル。

  • XBAPApplication_TemporaryKey.pfx : XBAP を含む、ClickOnce を使用して配置するアプリケーションが必要とする一時的なマニフェスト キー ファイル。

このプロジェクト ファイルは、必要に応じて再利用したり変更したりできます。ただし、参照するファイルは参照元の場所になければなりません。別の方法として、Microsoft Visual Studio 2005 で XAML ブラウザ アプリケーション (WPF) プロジェクト テンプレートを使用して、XBAP 用のプロジェクト ファイルを自動的に生成することができます。

このプロジェクト ファイルは C# プロジェクト用であるため、Microsoft.CSharp.targetsImport 要素が含まれています。Microsoft Visual Studio 2005 では、C# プロジェクト ファイルに .csproj という拡張子が付けられます。Microsoft Visual Studio 2005 で作成された Microsoft Visual Basic .NET には、通常 .vbproj という拡張子が付けられ、Microsoft.VisualBasic.targetsImport 要素が含まれます。

使用例

<Project DefaultTargets="Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <RootNamespace>XBAPApplication</RootNamespace>
    <AssemblyName>XBAPApplication</AssemblyName>
    <WarningLevel>4</WarningLevel>
    <OutputType>winexe</OutputType>
    <EnableSecurityDebugging>false</EnableSecurityDebugging>
    <ApplicationVersion>1.0.0.*</ApplicationVersion>
    <MapFileExtensions>False</MapFileExtensions>
    <HostInBrowser>True</HostInBrowser>
    <Install>False</Install>
    <TargetZone>Internet</TargetZone>
    <StartAction>Program</StartAction>
    <StartProgram>$(WINDIR)\System32\PresentationHost.exe</StartProgram>
    <ApplicationExtension>.xbap</ApplicationExtension>
    <StartArguments>-debug "$(MSBuildProjectDirectory)\bin\$(Configuration)\$(AssemblyName)$(ApplicationExtension)"</StartArguments>
    <SignManifests>True</SignManifests>
    <BootstrapperEnabled>false</BootstrapperEnabled>
    <ManifestKeyFile>XBAPApplication_TemporaryKey.pfx</ManifestKeyFile>
    <ManifestCertificateThumbprint>F2E49D0E8A6FE749DE85D224F5557B875DFD5577</ManifestCertificateThumbprint>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="WindowsBase" />
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />
  </ItemGroup>
  <ItemGroup>
    <ApplicationDefinition Include="App.xaml" />
    <Page Include="HomePage.xaml" />
    <Compile Include="HomePage.xaml.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="XBAPApplication_TemporaryKey.pfx" />
  </ItemGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets" />
</Project>