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>