Tarefa de MarkupCompilePass2
O MarkupCompilePass2 tarefa executa a compilação da marcação de segundo passo em Extensible Application Markup Language (XAML) os 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 a tarefa seja executada em um separado AppDomain. Se esse parâmetro retorna false, a tarefa é executada na mesma AppDomain como Microsoft build engine (MSBuild), e é executado mais rapidamente. Se o parâmetro retorna true, a tarefa é executada em um segundo AppDomain que é isolado do MSBuild e fica mais lento. |
AssembliesGeneratedDuringBuild |
Opcional String [ parâmetro. Especifica as referências aos assemblies alteram 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. Observação: 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 que 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 o diretório de instalação e assim por diante. |
Language |
Obrigatório seqüência de caracteres parâmetro. Especifica a linguagem gerenciada, o compilador oferece suporte. The valid options are C#, VB, JScript, J#, and 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 do assembly é 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 de tarefas. |
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 em que a primeira compilação da marcação passam agora ser compilado para o formato binário.
Exemplo
O exemplo a seguir mostra como usar o MarkupCompilePass2 passar a tarefa para executar um segundo 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
Building a WPF Application (WPF)
Visão geral sobre WPF XAML Browser Applications