Partilhar via


Tarefa GenerateTemporaryTargetAssembly

The 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 desse projeto. O assembly gerado será removido depois que o processo de compilação estiver concluído, ou se o processo de compilação falhar.

Parâmetros da tarefa

Parâmetro

Descrição

AssemblyName

Necessá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 temporariamente gerado. Por exemplo, se um projeto gera um Windows executável cujo nome é WinExeAssembly.exe, the AssemblyName parâmetro tem um valor de WinExeAssembly.

CompileTargetName

Necessário Seqüência de caracteres parâmetro.

Especifica o nome do Mecanismo de compilação Microsoft (MSBuild) destino usado para gerar assemblies de arquivos de código-fonte. O valor típico para CompileTargetName is CoreCompile.

CompileTypeName

Necessário Seqüência de caracteres parâmetro.

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

CurrentProject

Necessário Seqüência de caracteres parâmetro.

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

GeneratedCodeFiles

Opcional [] ITaskItem parâmetro.

Especifica a lista dos arquivos de código gerenciado específicas de idiomas que foram gerados pelo Tarefa MarkupCompilePass1 tarefa.

IntermediateOutputPath

Necessário Seqüência de caracteres parâmetro.

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

MSBuildBinPath

Necessário Seqüência de caracteres parâmetro.

Especifica o local de MSBuild.exe, que é necessário para compilar o assembly de destino temporário.

ReferencePath

Opcional [] ITaskItem parâmetro.

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

ReferencePathTypeName

Necessário Seqüência de caracteres parâmetro.

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

Comentários

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

Em vez disso, MarkupCompilePass1 adia a conversão de XAML passam de arquivos que contêm referências aos tipos do mesmo projeto para uma segunda compilação da marcação, que é executado pela Tarefa MarkupCompilePass2. Antes de MarkupCompilePass2 será executado, um assembly temporário é gerado. Neste módulo (assembly) contém os tipos usados pelo XAML arquivos cuja aprovação de compilação 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 está sendo o 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

Building a WPF Application (WPF)

Visão geral sobre Windows Presentation Foundation XAML Browser Applications

Outros recursos

Referência do Windows Presentation Foundation MSBuild

Referência de tarefa MSBuild do Windows Presentation Foundation

Referência do MSBuild

Referência de tarefa do MSBuild