Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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