如何:创建 Windows Presentation Foundation XAML 浏览器应用程序的示例项目文件
更新:2007 年 11 月
此示例项目文件针对 XAML 浏览器应用程序 (XBAP)。它有一个应用程序定义文件 App,该文件配置为自动打开一个用 XAML 和隐藏代码定义的页面 HomePage。主要配置详细信息包括:
OutputType。设置为 winexe。
HostInBrowser。必须设置为 true,因为 XAML 浏览器应用程序 (XBAP) 必须是浏览器承载的。
Install。必须设置为 false,因为不安装 XAML 浏览器应用程序 (XBAP)。
TargetZone。必须设置为“Internet”,因为 XAML 浏览器应用程序 (XBAP) 在 Internet 安全区域运行。
StartAction。必须设置为“Program”。
StartProgram。必须设置为处理在浏览器中承载该应用程序的进程的程序。
StartArguments。必须设置为应用程序清单(扩展名为 .xbap)的路径。
App.xaml。此应用程序定义文件配置为 ApplicationDefinition 元素。
HomePage.xaml。声明为 Page 元素的 XAML 文件。
HomePage.xaml.cs。声明为 Compile 元素的代码隐藏文件。
XBAPApplication_TemporaryKey.pfx。使用 ClickOnce 部署的应用程序(包括 XBAP)所要求的临时清单密钥文件。
您可以根据自己的需要重用或修改此项目文件,但前提是所引用的文件位于您正在从中引用文件的位置。也可以通过使用 Microsoft Visual Studio 2005 中的 XAML 浏览器应用程序 (WPF) 项目模板自动生成 XBAP 的项目文件。
此项目文件适用于 C# 项目,因此包括 Microsoft.CSharp.targets Import 元素。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>