UpdateManifestForBrowserApplication (Tarea)

La tarea UpdateManifestForBrowserApplication se ejecuta para agregar el elemento <hostInBrowser /> al manifiesto de aplicación (<nombreproyecto>.exe.manifest) cuando se compila un proyecto XAML Browser Application (XBAP).

Parámetros de tareas

Parámetro Descripción
ApplicationManifest Parámetro obligatorio de tipo ITaskItem[] .

Especifica la ruta de acceso y el nombre del archivo de manifiesto de aplicación al que se quiere agregar el elemento <hostInBrowser />.
HostInBrowser Parámetro obligatorio de tipo Boolean.

Especifica si se debe modificar el manifiesto de aplicación para incluir el elemento <hostInBrowser />. Si es true, se incluye un nuevo elemento <hostInBrowser /> en el elemento <entryPoint />. La inclusión de elementos es acumulativa: si ya existe un elemento <hostInBrowser />, no se quita ni se sobrescribe. En vez de eso, se crea otro elemento <hostInBrowser />. Si es false, el manifiesto de aplicación no se modifica.

Comentarios

Se ejecutan XBAP mediante la implementación de ClickOnce y, por tanto, se deben publicar con manifiestos de aplicación e implementación compatibles. MSBuild usa la tarea GenerateApplicationManifest para generar un manifiesto de aplicación.

A continuación, para configurar una aplicación que se va a hospedar en un explorador, debe agregarse al manifiesto de aplicación un elemento adicional, <hostInBrowser />, tal como refleja el ejemplo siguiente:

<!--MyXBAPApplication.exe.manifest-->
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly ... >
    <asmv1:assemblyIdentity ... />
    <application />
    <entryPoint>
      ...
      <hostInBrowser xmlns="urn:schemas-microsoft-com:asm.v3" />
    </entryPoint>
  ...
/>

La tarea UpdateManifestForBrowserApplication se ejecuta cuando se compila un proyecto XBAP con el fin de agregar el elemento <hostInBrowser />.

Ejemplo

En el ejemplo siguiente se muestra cómo asegurarse de que el elemento <hostInBrowser /> se incluye en un archivo de manifiesto de aplicación.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <UsingTask
    TaskName="Microsoft.Build.Tasks.Windows.UpdateManifestForBrowserApplication"
    AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
  <Target Name="UpdateManifestForBrowserApplicationTask">
    <UpdateManifestForBrowserApplication
      ApplicationManifest="MyXBAPApplication.exe.manifest"
      HostInBrowser="true" />
  </Target>
</Project>

Vea también