Attività MarkupCompilePass2

L'attività MarkupCompilePass2 esegue la compilazione del markup del secondo passaggio sui file Extensible Application Markup Language (XAML) che fanno riferimento ai tipi nello stesso progetto.

Parametri dell'attività

Parametro

Descrizione

AlwaysCompileMarkupFilesInSeparateDomain

Parametro Boolean facoltativo.

Specifica se eseguire l'attività in un AppDomain separato. Se questo parametro restituisce false, l'attività verrà eseguita nello stesso oggetto AppDomain di Microsoft build engine (MSBuild) e in modo più rapido. Se il parametro restituisce true, l'attività verrà eseguita in un secondo oggetto AppDomain isolato da MSBuild e in modo più lento.

AssembliesGeneratedDuringBuild

Parametro String[] facoltativo.

Specifica i riferimenti ad assembly che vengono modificati durante il processo di compilazione. Ad esempio, una soluzione Microsoft Visual Studio 2005 può contenere un progetto che fa riferimento all'output compilato di un altro progetto. In questo caso, l'output compilato del secondo progetto può essere aggiunto a AssembliesGeneratedDuringBuild.

Nota: AssembliesGeneratedDuringBuild deve contenere riferimenti all'insieme completo di assembly generati da una soluzione di compilazione.

AssemblyName

Parametro String obbligatorio.

Specifica il nome breve dell'assembly generato per un progetto. Ad esempio, se un progetto sta generando un eseguibile Microsoft Windows il cui nome è WinExeAssembly.exe, il parametro AssemblyName presenterà il valore WinExeAssembly.

GeneratedBaml

Parametro di output ITaskItem[] facoltativo.

Contiene l'elenco dei file generati in formato binario XAML.

KnownReferencePaths

Parametro String[] facoltativo.

Specifica i riferimenti ad assembly che non vengono mai modificati durante il processo di compilazione. Include assembly che si trovano in global assembly cache (GAC), in una directory di installazione di Microsoft .NET Framework e così via.

Language

Parametro String obbligatorio.

Specifica il linguaggio gestito supportato dal compilatore. Le opzioni valide sono C#, VB, JScript, J# e C++.

LocalizationDirectivesToLocFile

Parametro String facoltativo.

Specifica come generare informazioni di localizzazione per ogni file XAML di origine. Le opzioni valide sono None, CommentsOnly e All.

OutputPath

Parametro String obbligatorio.

Specifica la directory in cui vengono generati i file in formato binario XAML.

OutputType

Parametro String obbligatorio.

Specifica il tipo di assembly generato da un progetto. Le opzioni valide sono winexe, exe, library e netmodule.

References

Parametro ITaskItem[] facoltativo.

Specifica l'elenco dei riferimenti dai file agli assembly che contengono i tipi utilizzati nei file XAML. Un riferimento è all'assembly generato dall'attività GenerateTemporaryTargetAssembly, che deve essere eseguita prima dell'attività MarkupCompilePass2.

RootNamespace

Parametro String facoltativo.

Specifica lo spazio dei nomi radice per le classi all'interno del progetto. RootNamespace viene utilizzato anche come spazio dei nomi predefinito di un file di codice gestito generato quando il file XAML corrispondente non include l'attributo x:Class.

XAMLDebuggingInformation

Parametro Boolean facoltativo.

Se true, le informazioni diagnostiche verranno generate e incluse nel file XAML compilato per agevolare il debug.

Note

Prima di eseguire MarkupCompilePass2, è necessario generare un assembly temporaneo che contenga i tipi utilizzati dai file XAML il cui passaggio di compilazione del markup è stato rinviato. L'assembly temporaneo viene generato eseguendo l'attività GenerateTemporaryTargetAssembly.

Viene fornito un riferimento all'assembly temporaneo generato per MarkupCompilePass2 quando è in esecuzione, consentendo la compilazione in formato binario dei file XAML la cui compilazione è stata rinviata nel primo passaggio di compilazione del markup.

Esempio

Nell'esempio seguente viene mostrato come utilizzare l'attività MarkupCompilePass2 per eseguire un secondo passaggio di compilazione.

<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
  <UsingTask 
    TaskName="Microsoft.Build.Tasks.Windows.MarkupCompilePass2" 
    AssemblyFile="C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationBuildTasks.dll" />
  <Target Name="MarkupCompilePass2Task">
    <MarkupCompilePass2 
      AssemblyName="WPFMSBuildSample"
      Language="C#"
      OutputType="WinExe"
      OutputPath="obj\Debug\"
      References=".\obj\debug\WPFMSBuildSample.exe;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>

Vedere anche

Concetti

Compilazione di un'applicazione WPF (WPF)

Panoramica delle applicazioni browser XAML di WPF

Altre risorse

Informazioni di riferimento su MSBuild WPF

Informazioni di riferimento sulle attività MSBuild WPF

Riferimenti a MSBuild

Riferimenti delle attività MSBuild