Поделиться через


Практическое руководство. Создание образца файла проекта для приложения браузера XAML WPF

Этот пример файла проекта предназначен для XBAP (XAML browser application — приложение обозревателя XAML) с файлом определения приложения App, настроенного для автоматического открытия HomePage, которая определена в Язык XAML и в коде программной части. Основные данные конфигурации включают следующее:

  • OutputType. Должен быть установлен в значение winexe.

  • HostInBrowser. Должно быть задано значение true, поскольку XAML-приложения веб-браузера (XBAPs) должны быть приложениями, размещенными в обозревателе.

  • Install. Должно быть задано значение false, поскольку XAML-приложения веб-браузера (XBAPs) не установлены.

  • TargetZone. Должно быть задано значение «Internet», поскольку XAML-приложения веб-браузера (XBAPs) выполняются в зоне безопасности «Интернет».

  • StartAction. Должно быть задано «Program».

  • StartProgram. Должно устанавливаться у программы, которая обрабатывает процесс размещения приложения в обозревателе.

  • StartArguments. Должно быть установлено в значение пути к манифесту приложения с расширением XBAP.

  • App.xaml. Файл определения приложения, настраиваемый как элемент ApplicationDefinition.

  • HomePage.xaml. Файл Язык XAML, объявленный как элемент Page.

  • HomePage.xaml.cs. Файл кода программной части, объявленный как элемент Compile.

  • XBAPApplication_TemporaryKey.pfx. Временный файл ключа манифеста, необходимый для приложений, развернутых с помощью ClickOnce, включая приложения XBAP.

Можно повторно использовать или изменить этот файл проекта в соответствии с конкретными потребностями, пока ссылочные файлы находятся в папке, из которой к ним обращаются. Кроме того, можно использовать файл проекта для XBAP, автоматически создаваемый с помощью шаблона проекта Приложение обозревателя XAML (WPF) в среде Microsoft Visual Studio 2005.

Этот файл проекта предназначен для проекта C# и, следовательно, включает элемент Microsoft.CSharp.targets Import. Microsoft Visual Studio 2005 предоставляет файлам проекта C# расширение CSPROJ. Проект Microsoft Visual Basic .NET, созданный в Microsoft Visual Studio 2005, обычно имеет расширение VBPROJ и содержит элемент Microsoft.VisualBasic.targets Import.

Пример

<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>