Compartir a través de


Cómo: Crear un archivo de proyecto de ejemplo para una aplicación de explorador XAML de Windows Presentation Foundation

Actualización: noviembre 2007

Este ejemplo de archivo de proyecto es para una Aplicación del explorador XAML (XBAP) con un archivo de definición de aplicación, App, configurado para abrir automáticamente una página, HomePage, definida mediante XAML y código subyacente. Los detalles principales de la configuración incluyen:

  • OutputType. Se establece en winexe.

  • HostInBrowser. Se debe establecer en true porque las Aplicaciones del explorador XAML (XBAPs) deben hospedarse en el explorador.

  • Install. Se debe establecer en false porque las Aplicaciones del explorador XAML (XBAPs) no se instalan.

  • TargetZone. Se debe establecer en "Internet", porque las Aplicaciones del explorador XAML (XBAPs) se ejecutan en la zona de seguridad de Internet.

  • StartAction. Se debe establecer en "Program".

  • StartProgram. Se debe establecer en el programa que administra el proceso de hospedar la aplicación en el explorador.

  • StartArguments. Se debe establecer en la ruta de acceso al manifiesto de aplicaciones, cuya extensión es .xbap.

  • App.xaml. Archivo de definición de la aplicación que se va a configurar como un elemento ApplicationDefinition.

  • HomePage.xaml. Archivo XAML declarado como elemento Page.

  • HomePage.xaml.cs. Archivo de código subyacente declarado como elemento Compile.

  • XBAPApplication_TemporaryKey.pfx. Un archivo de claves de manifiesto temporal que necesitan las aplicaciones que se implementan mediante ClickOnce, lo que incluye las XBAPs.

Puede reutilizar o modificar este archivo de proyecto para adaptarlo a sus necesidades, siempre que los archivos a los que hace referencia se encuentren en la ubicación desde la que hace referencia a ellos. Como alternativa, puede hacer que se genere automáticamente un archivo de proyecto para una XBAP mediante la plantilla de proyecto Aplicación del explorador XAML (WPF) de Microsoft Visual Studio 2005.

Este archivo de proyecto es para un proyecto de C# y, por tanto, incluye el elemento Import de Microsoft.CSharp.targets. Microsoft Visual Studio 2005 asigna a los archivos de proyecto de C# una extensión .csproj. Un proyecto de Microsoft Visual Basic .NET creado en Microsoft Visual Studio 2005 tendría normalmente la extensión .vbproj e incluiría el elemento Import de Microsoft.VisualBasic.targets.

Ejemplo

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