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>