Compartir a través de


MarkupCompilePass2 (tarea)

La tarea MarkupCompilePass2 realiza una compilación de marcado de segundo paso en archivos de XAML que hacen referencia a los tipos del mismo proyecto.

Parámetros de tareas

Parámetro Description
AlwaysCompileMarkupFilesInSeparateDomain Parámetro Boolean opcional.

Especifica si la tarea se va a ejecutar en un AppDomain independiente. Si este parámetro devuelve el valor false, la tarea se ejecuta en el mismo AppDomain que MSBuild y su ejecución es más rápida. Si el parámetro devuelve el valor true, la tarea se ejecuta en otro AppDomain que está aislado de MSBuild y su ejecución es más lenta.
AssembliesGeneratedDuringBuild Parámetro String[] opcional.

Especifica referencias a los ensamblados que cambian durante el proceso de compilación. Por ejemplo, una solución de Visual Studio puede contener un proyecto que haga referencia al resultado compilado de otro proyecto. En este caso, el resultado compilado del segundo proyecto se puede agregar a AssembliesGeneratedDuringBuild.

Nota: AssembliesGeneratedDuringBuild debe contener referencias al conjunto completo de ensamblados que genera una solución de compilación.
AssemblyName Parámetro obligatorio de tipo String.

Especifica el nombre corto del ensamblado que se genera para un proyecto. Por ejemplo, si un proyecto genera un archivo ejecutable con el nombre WinExeAssembly.exe, el parámetro AssemblyName tiene el valor WinExeAssembly.
GeneratedBaml Parámetro de salida opcional de tipo ITaskItem[].

Contiene la lista de archivos generados en formato binario XAML.
KnownReferencePaths Parámetro String[] opcional.

Especifica referencias a los ensamblados que no cambian nunca durante el proceso de compilación. Incluye los ensamblados que se encuentran en la caché global de ensamblados, en un directorio de instalación de .NET, etc.
Language Parámetro obligatorio de tipo String.

Especifica el lenguaje administrado que el compilador admite. Las opciones válidas son C#, VB, JScript y C++.
LocalizationDirectivesToLocFile Parámetro String opcional.

Especifica cómo generar la información de localización para cada archivo de origen de XAML. Las opciones válidas son None, CommentsOnly y All.
OutputPath Parámetro obligatorio de tipo String.

Especifica el directorio en el que se generan los archivos de formato binario XAML.
OutputType Parámetro obligatorio de tipo String.

Especifica el tipo de ensamblado que genera un proyecto. Las opciones válidas son winexe, exe, library y netmodule.
References Parámetro opcional de tipo ITaskItem[] .

Especifica la lista de referencias de los archivos a los ensamblados que contienen los tipos que se usan en los archivos XAML. Una referencia es para el ensamblado que se ha generado mediante la tarea GenerateTemporaryTargetAssembly, que debe ejecutarse antes de la tarea MarkupCompilePass2.
RootNamespace Parámetro String opcional.

Especifica el espacio de nombres de la raíz de las clases que están dentro del proyecto. RootNamespace también se usa como espacio de nombres predeterminado de un archivo de código administrado generado cuando el archivo XAML correspondiente no incluye el atributo x:Class.
XAMLDebuggingInformation Parámetro Boolean opcional.

Si el valor es true, se genera información de diagnóstico y se incluye en el archivo XAML compilado como ayuda para la depuración.

Comentarios

Antes de ejecutar MarkupCompilePass2, debe generar un ensamblado temporal con los tipos que usan los archivos XAML cuyo paso de compilación de marcado se aplazó. Para generar el ensamblado temporal, ejecute la tarea GenerateTemporaryTargetAssembly.

Cuando se ejecuta MarkupCompilePass2, se le proporciona una referencia al ensamblado temporal generado. De esta manera, se pueden compilar en formato binario los archivos XAML cuya compilación se ha aplazado en el primer paso de compilación de marcado.

Ejemplo

En el ejemplo siguiente se muestra cómo usar la tarea MarkupCompilePass2 para realizar una compilación de segundo paso.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <UsingTask
    TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass2"
    AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
  <Target Name="MarkupCompilePass2Task">
    <MarkupCompilePass2
      AssemblyName="WPFMSBuildSample"
      Language="C#"
      OutputType="WinExe"
      OutputPath="obj\Debug\"
      References=".\obj\debug\WPFMSBuildSample.exe;c:\windows\Microsoft.net\Framework\v2.0.50727\System.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\PresentationCore.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\PresentationFramework.dll;C:\Program Files\Reference Assemblies\Microsoft\WinFx\v3.0\WindowsBase.dll" />
  </Target>
</Project>

Vea también