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