MarkupCompilePass2 (attività)
L'attività MarkupCompilePass2 esegue la compilazione di markup di secondo passaggio sui file 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à viene eseguita nello stesso AppDomain modo di MSBuild e viene eseguita più velocemente. Se il parametro restituisce true, l'attività viene eseguita in un secondo AppDomain isolato da MSBuild e viene eseguita più lentamente. |
AssembliesGeneratedDuringBuild |
Parametro String[] facoltativo. Specifica i riferimenti ad assembly che vengono modificati durante il processo di compilazione. Ad esempio, una soluzione Visual Studio 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 al set 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 genera un eseguibile il cui nome è WinExeAssembly.exe, il parametro AssemblyName ha un valore WinExeAssembly. |
GeneratedBaml |
Parametro di output facoltativo ITaskItem[]. 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 nella Global Assembly Cache (GAC), in una directory di installazione di .NET e così via. |
Language |
Parametro String obbligatorio. Specifica il linguaggio gestito supportato dal compilatore. Le opzioni valide sono C#, VB, JScript 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 di formato binario XAML generati. |
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 di riferimenti dai file agli assembly che contengono i tipi usati nei file XAML. Un riferimento è relativo 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 usato 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 di diagnostica vengono generate e incluse nel codice XAML compilato per facilitare il debug. |
Osservazioni:
Prima di eseguire MarkupCompilePass2, devi generare un assembly temporaneo contenente i tipi usati dai file XAML il cui passaggio di compilazione di markup è stato posticipato. L'assembly temporaneo viene generato mediante l'esecuzione dell'attività GenerateTemporaryTargetAssembly.
Viene fornito un riferimento all'assembly temporaneo generato a MarkupCompilePass2 quando viene eseguito, consentendo ai file XAML la cui compilazione è stata posticipata nel passaggio della prima compilazione di markup per essere compilata in formato binario.
Esempio
L'esempio seguente visualizza come usare l'attività MarkupCompilePass2 per eseguire un secondo passaggio di compilazione.
<Project xmlns="http://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>