Freigeben über


Gewusst wie: Erstellen einer Beispielprojektdatei für eine WPF-XAML-Browseranwendung

Diese Beispielprojektdatei ist für eine XAML-Browseranwendung (XBAP) bestimmt und enthält eine Anwendungsdefinitionsdatei, App, die für das automatische Öffnen einer Seite, HomePage, konfiguriert ist, die mit XAML und Code-Behind definiert ist. Zu den wichtigsten Konfigurationsdetails gehören:

  • OutputType. Auf winexe festgelegt.

  • HostInBrowser. Muss auf true festgelegt werden, da XAML-Browseranwendungen (XBAPs) im Browser gehostet werden müssen.

  • Install. Muss auf false festgelegt werden, da XAML-Browseranwendungen (XBAPs) nicht installiert sind.

  • TargetZone. Muss auf "Internet" festgelegt werden, da XAML-Browseranwendungen (XBAPs) in der Internetsicherheitszone ausgeführt werden.

  • StartAction. Muss auf "Program" festgelegt werden.

  • StartProgram. Muss auf das Programm festgelegt werden, dass den Hostingprozess der Anwendung im Browser behandelt.

  • StartArguments. Muss auf den Pfad zum Anwendungsmanifest mit der Erweiterung .xbap festgelegt werden.

  • App.xaml. Die Anwendungsdefinitionsdatei, die als ApplicationDefinition-Element konfiguriert wird.

  • HomePage.xaml. Eine XAML-Datei, die als Page-Element deklariert wird.

  • HomePage.xaml.cs. Eine Code-Behind-Datei, die als Compile-Element deklariert wird.

  • XBAPApplication_TemporaryKey.pfx. Eine temporäre Manifestschlüsseldatei, die für Anwendungen erforderlich ist, die ClickOnce verwenden, einschließlich XBAPs.

Sie können diese Projektdatei entsprechend Ihren Anforderungen erneut verwenden oder ändern, solange der Speicherort der referenzierten Dateien identisch mit dem ist, aus dem Sie auf die Dateien verweisen. Alternativ dazu können Sie eine Projektdatei für eine XBAP automatisch generieren, indem Sie die XAML-Browseranwendung (WPF)-Projektvorlage in Microsoft Visual Studio 2005 verwenden.

Diese Projektdatei ist für ein C#-Projekt bestimmt und enthält demzufolge das Microsoft.CSharp.targets Import-Element. Microsoft Visual Studio 2005 versieht C#-Projektdateien mit der Erweiterung .csproj. Eine in Microsoft Visual Studio 2005 erstellte Microsoft Visual Basic .NET-Projektdatei hätte i. d. R. die Erweiterung .vbproj und würde das Microsoft.VisualBasic.targetsImport-Element enthalten.

Beispiel

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