Tarefa de MarkupCompilePass2
O MarkupCompilePass2 tarefa executa a compilação da marcação de segundo passo em Extensible Application Markup Language (XAML) arquivos que fazem referência a tipos no mesmo projeto.
Parâmetros da tarefa
Parâmetro |
Descrição |
---|---|
AlwaysCompileMarkupFilesInSeparateDomain |
Opcional Boolean parâmetro. Especifica se deseja executar a tarefa em um separado AppDomain.Se esse parâmetro retorna false, a tarefa é executada na mesma AppDomain como Microsoft build engine (MSBuild), e ele é executado mais rapidamente.Se o parâmetro retorna true, a tarefa é executada em um segundo AppDomain que está isolado do MSBuild e fica mais lento. |
AssembliesGeneratedDuringBuild |
Opcional String [ parâmetro. Especifica as referências aos assemblies alterados durante o processo de compilação.Por exemplo, um Microsoft Visual Studio 2005 solução pode conter um projeto que faz referência a saída compilada de outro projeto.Nesse caso, a saída compilada do projeto segundo pode ser adicionada a AssembliesGeneratedDuringBuild. Obs.: AssembliesGeneratedDuringBuild deve conter referências ao conjunto completo de assemblies que são gerados por uma solução de compilação. |
AssemblyName |
Obrigatório seqüência de caracteres parâmetro. Especifica o nome curto do assembly que é gerado para um projeto.Por exemplo, se um projeto está gerando um Microsoft Windows executável cujo nome é WinExeAssembly.exe, o AssemblyName parâmetro tem um valor de WinExeAssembly. |
GeneratedBaml |
Opcional [] de ITaskItem parâmetro de saída. Contém a lista de arquivos gerados em XAML formato binário. |
KnownReferencePaths |
Opcional String [ parâmetro. Especifica as referências aos assemblies que nunca são alteradas durante o processo de compilação.Inclui assemblies localizados na global assembly cache (GAC), em um Microsoft .NET Framework diretório de instalação e assim por diante. |
Language |
Obrigatório seqüência de caracteres parâmetro. Especifica que o compilador suporta linguagem gerenciada.As opções válidas são C#, VB, JScript, e C++. |
LocalizationDirectivesToLocFile |
Opcional seqüência de caracteres parâmetro. Especifica como gerar informações de localização para cada fonte de XAML arquivo.As opções válidas são Nenhum, CommentsOnly, e todos os. |
OutputPath |
Obrigatório seqüência de caracteres parâmetro. Especifica o diretório em que o gerado XAML serão gerados arquivos de formato binário. |
OutputType |
Obrigatório seqüência de caracteres parâmetro. Especifica o tipo de montagem que é gerado por um projeto.As opções válidas são winexe, exe, biblioteca, e netmodule. |
References |
Opcional [] de ITaskItem parâmetro. Especifica a lista de referências de arquivos para assemblies que contêm os tipos que são usados na XAML arquivos.É de uma referência ao assembly gerado pelo GenerateTemporaryTargetAssembly tarefa, que deve ser executada antes do MarkupCompilePass2 tarefa. |
RootNamespace |
Opcional seqüência de caracteres parâmetro. Especifica o namespace raiz para classes que estão dentro do projeto.RootNamespace também é usado como o namespace padrão de um código gerenciado gerado arquivo quando o correspondente XAML arquivo não inclui o x:Class atributo. |
XAMLDebuggingInformation |
Opcional Boolean parâmetro. Quando true, informações de diagnóstico são geradas e incluídas no compilado XAML para depuração de auxílio. |
Comentários
Antes de executar MarkupCompilePass2, você deve gerar um assembly temporário que contém os tipos que são usados pela XAML arquivos cuja passagem de compilação da marcação foram adiados.Gerar o assembly temporário executando o GenerateTemporaryTargetAssembly tarefa.
Uma referência ao assembly temporário gerado é fornecida para MarkupCompilePass2 quando ele é executado, permitindo que o XAML arquivos cuja compilação foi adiada na primeira compilação da marcação passam a ser compilado agora em formato binário.
Exemplo
O exemplo a seguir mostra como usar o MarkupCompilePass2 tarefa para executar um segundo passar a compilação.
<Project xmlns="https://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>
Consulte também
Conceitos
Criando um aplicativo WPF (WPF)
Visão geral de aplicativos de navegador XAML do WPF