Compartilhar via


Tarefa MarkupCompilePass1

O MarkupCompilePass1 tarefa converte não localizáveis Extensible Application Markup Language (XAML) arquivos em formato binário compilado do projeto.

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 tarefa.

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.

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 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 segundo projeto 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 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 tarefa reapresentações; uma reconstrução é disparada se um desses arquivos alterações.

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 dar 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 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++.

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 estiver definido com um valor específico, a extensão de nome de arquivo de fonte padrão para um idioma é usada: . vb para Microsoft Visual Basic, .csharp para 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 de montagem que é 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 de 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 arquivos que fazem referência a tipos de locais que são incorporados ao assembly principal.

RequirePass2ForSatelliteAssembly

Opcional Boolean parâmetro de saída.

Indica se o projeto contém localizáveis XAML 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 definidas localmente são compilados.No entanto, se um XAML o arquivo tem um x:Class atributo, MarkupCompilePass1 gera o arquivo de código de idioma específico para ele.

A XAML arquivo é localizável, se ele contiver 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 a 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 faz referência a um tipo definido localmente, uma segunda passagem de compilação de marcação é necessária, que requer a execução de Tarefa GenerateTemporaryTargetAssembly e, em seguida o Tarefa de MarkupCompilePass2.

Exemplo

O exemplo a seguir mostra como converter três PageXAML 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 nesse passo de compilação da marcação.Em vez disso, o Tarefa 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

Criando um aplicativo WPF (WPF)

Visão geral de aplicativos de navegador XAML do WPF

Outros recursos

Referência do WPF MSBuild

Referência de tarefa MSBuild do WPF

Referência do MSBuild

Referência de tarefa do MSBuild