Tarefa MarkupCompilePass2
A tarefa MarkupCompilePass2 executa a compilação de marcação de segunda passagem em arquivos XAML que fazem referência a tipos no mesmo projeto.
Parâmetros de tarefa
Parâmetro | Descrição |
---|---|
AlwaysCompileMarkupFilesInSeparateDomain |
Parâmetro Boolean opcional. Especifica se a tarefa deve ser executada em um AppDomain separado. Se esse parâmetro retornar false, a tarefa será executada mais rapidamente no mesmo AppDomain que o MSBuild. Se o parâmetro retornar true, a tarefa será executada de modo mais lento em um segundo AppDomain que é isolado do MSBuild. |
AssembliesGeneratedDuringBuild |
Parâmetro String[] opcional. Especifica as referências aos assemblies alterados durante o processo de build. Por exemplo, uma solução do Visual Studio pode conter um projeto que faz referência à saída compilada de outro projeto. Nesse caso, a saída compilada do segundo projeto pode ser adicionada a AssembliesGeneratedDuringBuild. Observação: AssembliesGeneratedDuringBuild deve conter referências ao conjunto completo de assemblies que são gerados por uma solução de build. |
AssemblyName |
Parâmetro obrigatório String. Especifica o nome curto do assembly que é gerado para um projeto. Por exemplo, se um projeto estiver gerando um executável de nome WinExeAssembly.exe, o parâmetro AssemblyName terá o valor de WinExeAssembly. |
GeneratedBaml |
Parâmetro de saída opcional ITaskItem[]. Contém a lista de arquivos gerados no formato binário de XAML. |
KnownReferencePaths |
Parâmetro String[] opcional. Especifica as referências aos assemblies nunca alterados durante o processo de build. Inclui assemblies localizados no GAC (cache de assembly global) em um diretório de instalação do .NET e assim por diante. |
Language |
Parâmetro obrigatório String. Especifica a linguagem gerenciada à qual o compilador dá suporte. As opções válidas são C#, VB, JScript e C++. |
LocalizationDirectivesToLocFile |
Parâmetro String opcional. Especifica como gerar informações de localização para cada arquivo XAML de origem. As opções válidas são None, CommentsOnly e All. |
OutputPath |
Parâmetro obrigatório String. Especifica o diretório no qual ocorre a geração dos arquivos de formato binário de XAML. |
OutputType |
Parâmetro obrigatório String. Especifica o tipo de assembly que é gerado por um projeto. As opções válidas são winexe, exe, library e netmodule. |
References |
Parâmetro opcional ITaskItem[]. Especifica a lista de referências de arquivos para assemblies que contêm os tipos usados nos arquivos XAML. Uma referência é ao assembly gerado pela tarefa GenerateTemporaryTargetAssembly, que deve ser executada antes da tarefa MarkupCompilePass2. |
RootNamespace |
Parâmetro String opcional. Especifica o namespace raiz para as classes que estão dentro do projeto. RootNamespace também é usado como o namespace padrão de um arquivo de código gerenciado gerado quando o arquivo XAML correspondente não incluir o atributo x:Class . |
XAMLDebuggingInformation |
Parâmetro Boolean opcional. Quando for true, as informações de diagnóstico serão geradas e incluídas no XAML compilado para auxiliar na depuração. |
Comentários
Antes de executar MarkupCompilePass2, você deve gerar um assembly temporário que contém os tipos usados pelos arquivos XAML cujas passagens de compilação de marcação foram adiadas. Gere o assembly temporário executando a tarefa GenerateTemporaryTargetAssembly.
Uma referência ao assembly temporário gerado é fornecida para MarkupCompilePass2 quando ele é executado, permitindo que os arquivos XAML cujo build foi adiado na primeira passagem de build de marcação sejam agora compilados em formato binário.
Exemplo
O exemplo a seguir mostra como usar a tarefa MarkupCompilePass2 para executar uma compilação de segunda passagem.
<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>