Compartilhar via


Tarefa GenerateTemporaryTargetAssembly

O GenerateTemporaryTargetAssembly tarefa gera um assembly, se pelo menos um Extensible Application Markup Language (XAML) página em um projeto referencia um tipo que seja declarado localmente nesse projeto.O assembly gerado é removido após a conclusão do processo de compilação ou se o processo de compilação falhar.

Parâmetros da tarefa

Parâmetro

Descrição

AssemblyName

Obrigatório seqüência de caracteres parâmetro.

Especifica o nome curto do assembly que é gerado para um projeto e também é o nome do assembly de destino que é gerado temporariamente.Por exemplo, se um projeto gera um Windows executável cujo nome é WinExeAssembly.exe, o AssemblyName parâmetro tem um valor de WinExeAssembly.

CompileTargetName

Obrigatório seqüência de caracteres parâmetro.

Especifica o nome da Microsoft build engine (MSBuild) o destino que é usado para gerar assemblies de arquivos de código fonte.O valor típico para CompileTargetName é CoreCompile.

CompileTypeName

Obrigatório seqüência de caracteres parâmetro.

Especifica o tipo de compilação é executada pelo destino especificado pelo CompileTargetName parâmetro.Para o CoreCompile o destino, esse valor é Compilar.

CurrentProject

Obrigatório seqüência de caracteres parâmetro.

Especifica o caminho completo da MSBuild arquivo de projeto para o projeto que requer um assembly de destino temporário.

GeneratedCodeFiles

Opcional [] de ITaskItem parâmetro.

Especifica a lista de arquivos específicos do idioma de código gerenciado que foram geradas com a Tarefa MarkupCompilePass1 tarefa.

IntermediateOutputPath

Obrigatório seqüência de caracteres parâmetro.

Especifica o diretório que o assembly de destino temporário é gerado.

MSBuildBinPath

Obrigatório seqüência de caracteres parâmetro.

Especifica a localização do MSBuild. exe, que é necessário para compilar o assembly de destino temporário.

ReferencePath

Opcional [] de ITaskItem parâmetro.

Especifica uma lista de assemblies, pelo caminho e nome de arquivo, que são referenciados pelos tipos que são compilados no assembly de destino temporário.

ReferencePathTypeName

Obrigatório seqüência de caracteres parâmetro.

Especifica o parâmetro que é usado pelo destino de compilação (CompileTargetName) parâmetro especifica a lista de referências de assembly (ReferencePath).O valor apropriado é ReferencePath.

Comentários

A primeira passagem de marcação de compilação, o que é executada, o Tarefa MarkupCompilePass1, compila XAML arquivos em formato binário.Conseqüentemente, o compilador precisa de uma lista de assemblies referenciados que contêm os tipos que são usados pela XAML arquivos.No entanto, se um XAML arquivo usa um tipo que é definido no mesmo projeto, um assembly correspondente para o projeto não é criado até que o projeto é construído.Portanto, uma referência de assembly não pode ser fornecida durante a primeira etapa de compilação da marcação.

Em vez disso, MarkupCompilePass1 adia a conversão de XAML arquivos que contêm referências aos tipos no mesmo projeto para uma compilação da marcação segundo passam, o qual está sendo executada pelo Tarefa de MarkupCompilePass2.Antes de MarkupCompilePass2 é executado, um assembly temporário é gerado.Este assembly contém os tipos que são usados pela XAML arquivos cuja passagem de compilação da marcação foi adiada.Uma referência ao assembly gerado é fornecida para MarkupCompilePass2 quando ele é executado para permitir que a compilação adiada XAML arquivos a ser convertido em formato binário.

Exemplo

O exemplo a seguir gera um assembly temporário porque Page1.xaml contém uma referência a um tipo que esteja no mesmo projeto.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
  <UsingTask
    TaskName="Microsoft.Build.Tasks.Windows.GenerateTemporaryTargetAssembly" 
    AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
  <Target Name="GenerateTemporaryTargetAssemblyTask">
    <GenerateTemporaryTargetAssembly
      AssemblyName="WPFMSBuildSample"
      CompileTargetName="CoreCompile"
      CompileTypeName="Compile"
      CurrentProject="FullBuild.proj"
      GeneratedCodeFiles="obj\debug\app.g.cs;obj\debug\Page1.g.cs;obj\debug\Page2.g.cs"
      ReferencePath="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"
      IntermediateOutputPath=".\obj\debug\"
      MSBuildBinPath="$(MSBuildBinPath)"
      ReferencePathTypeName="ReferencePath"/>
  </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