Tarefa MarkupCompilePass1
O MarkupCompilePass1 tarefa converte não localizáveis Extensible Application Markup Language (XAML) arquivos de projeto compilado formato binário.
Parâmetros da tarefa
Parâmetro |
Descrição |
---|---|
AllGeneratedFiles |
Opcional [] de ITaskItem parâmetro de saída. Contém uma lista completa dos arquivos gerados pelo MarkupCompilePass1 de tarefas. |
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. |
ApplicationMarkup |
Opcional [] de ITaskItem parâmetro. Especifica o nome da definição de aplicativo XAML arquivo. |
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 para o AssembliesGeneratedDuringBuild parâmetro. Observação: O AssembliesGeneratedDuringBuild parâmetro 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 Windows executável cujo nome é WinExeAssembly.exe, o AssemblyName parâmetro tem um valor de WinExeAssembly. |
AssemblyPublicKeyToken |
Opcional seqüência de caracteres parâmetro. Especifica o token de chave público para o assembly. |
AssemblyVersion |
Opcional seqüência de caracteres parâmetro. Especifica o número de versão do assembly. |
ContentFiles |
Opcional [] de ITaskItem parâmetro. Especifica a lista de arquivos de conteúdo flexível. |
DefineConstants |
Opcional seqüência de caracteres parâmetro. Especifica que o valor atual de DefineConstants, é mantido. o que afeta a geração de assembly de destino; Se este parâmetro for alterado, a API pública do assembly de destino pode ser alterada e a compilação de XAML arquivos que fazem referência a tipos de locais podem ser afetados. |
ExtraBuildControlFiles |
Opcional [] de ITaskItem parâmetro. Especifica uma lista de arquivos que controlam se uma reconstrução é acionado quando o MarkupCompilePass1 executa novamente a tarefa; uma reconstrução é acionada se uma dessas alterações de arquivos. |
GeneratedBamlFiles |
Opcional [] de ITaskItem parâmetro de saída. Contém a lista de arquivos gerados em XAML formato binário. |
GeneratedCodeFiles |
Opcional [] de ITaskItem parâmetro de saída. Contém a lista de arquivos de código gerenciado gerado. |
GeneratedLocalizationFiles |
Opcional [] de ITaskItem parâmetro de saída. Contém a lista de arquivos de localização que foram gerados para cada localizáveis XAML arquivo. |
HostInBrowser |
Opcional seqüência de caracteres parâmetro. Especifica se o assembly gerado é um XAML browser application (XBAP). As opções válidas são true e false. Se true, o código é gerado para o suporte à hospedagem do navegador. |
KnownReferencePaths |
Opcional String [ parâmetro. Especifica as referências aos assemblies que não são alterados 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++. |
LanguageSourceExtension |
Opcional seqüência de caracteres parâmetro. Especifica a extensão que é acrescentada à extensão do arquivo gerado código gerenciado: <Filename>.g<LanguageSourceExtension> Se a LanguageSourceExtension parâmetro não for definido com um valor específico, a extensão de nome de arquivo de fonte padrão para um idioma é usada: .vb for Microsoft Visual Basic, .csharp for 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 de arquivos de código gerenciado e 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. |
PageMarkup |
Opcional [] de ITaskItem parâmetro. Especifica uma lista de XAML arquivos para o processo. |
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. |
RequirePass2ForMainAssembly |
Opcional Boolean parâmetro de saída. Indica se o projeto contém não localizáveis XAML os arquivos que fazem referência a tipos de locais que são incorporados no assembly principal. |
RequirePass2ForSatelliteAssembly |
Opcional Boolean parâmetro de saída. Indica se o projeto contém localizáveis XAML os arquivos que fazem referência a tipos de locais que são incorporados no assembly principal. |
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. |
SourceCodeFiles |
Opcional [] de ITaskItem parâmetro. Especifica a lista de arquivos de código para o projeto atual. A lista não inclui os arquivos gerados específicos do idioma de código gerenciado. |
UICulture |
Opcional seqüência de caracteres parâmetro. Especifica o assembly satélite para a cultura da interface do usuário em que o gerado XAML são incorporados a arquivos de formato binário. Se UICulture não estiver definido, o gerado XAML arquivos de formato binário são incorporados no assembly principal. |
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
O MarkupCompilePass1 tarefa normalmente compila XAML em formato binário e gera arquivos de código. Se um XAML arquivo contém referências aos tipos que são definidos no mesmo projeto, a sua compilação em formato binário é adiada por MarkupCompilePass1 para uma segunda passagem de compilação de marcação (MarkupCompilePass2). Esses arquivos devem ter seu compilação adiada porque eles devem aguardar os tipos referenciados definida localmente são compilados. No entanto, se um XAML o arquivo tem um x:Class atributo, MarkupCompilePass1 gera o arquivo de código específico do idioma para o proprietário.
A XAML arquivo é localizável, se ele contém elementos que usam o x:Uid atributo:
<Page x:Class="WPFMSBuildSample.Page1"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
x:Uid="Page1Uid"
>
...
</Page>
A XAML arquivo faz referência a um tipo definido localmente quando ele declara um XML namespace que usa o clr-namespace valor para se referir a um espaço para nome no projeto atual:
<Page x:Class="WPFMSBuildSample.Page1"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns:localNamespace="clr-namespace:WPFMSBuildSample"
>
<Grid>
<Grid.Resources>
<localNameSpace:LocalType x:Key="localType" />
</Grid.Resources>
...
</Grid>
</Page>
Se houver XAML arquivo é localizável ou referencia um tipo definido localmente, uma segunda passagem de compilação de marcação é necessária, que requer a execução de Tarefa de GenerateTemporaryTargetAssembly e, em seguida o Tarefa de MarkupCompilePass2.
Exemplo
O exemplo a seguir mostra como converter três Page XAML arquivos para arquivos de formato binário. Page1contém uma referência a um tipo, Class1, que está no namespace raiz do projeto e, portanto, não é convertido em arquivos de formato binário nesta pass. de compilação da marcação Em vez disso, o Tarefa de GenerateTemporaryTargetAssembly é executado e é seguido de Tarefa de MarkupCompilePass2.
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask
TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass1"
AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
<Target Name="MarkupCompilePass1Task">
<MarkupCompilePass1
AssemblyName="WPFMSBuildSample"
Language="C#"
OutputType="WinExe"
OutputPath="obj\Debug\"
ApplicationMarkup="App.xaml"
PageMarkup="Page1.xaml;Page2.xaml;Page3.xaml"
SourceCodeFiles="Class1.cs"
References="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