MarkupCompilePass2-Aufgabe
Aktualisiert: November 2007
Die MarkupCompilePass2-Aufgabe führt einen weiteren Markupkompilierungsdurchlauf für Extensible Application Markup Language (XAML)-Dateien aus, die auf Typen im gleichen Projekt verweisen.
Aufgabenparameter
Parameter |
Beschreibung |
---|---|
AlwaysCompileMarkupFilesInSeparateDomain |
Optionaler Boolean-Parameter. Gibt an, ob die Aufgabe in einer separaten AppDomain ausgeführt werden soll. Wenn dieser Parameter false zurückgibt, wird die Aufgabe in derselben AppDomain wie Microsoft-Buildmodul (MSBuild) und schneller ausgeführt. Wenn der Parameter true zurückgibt, wird die Aufgabe in einer anderen AppDomain, die von MSBuild getrennt ist, und langsamer ausgeführt. |
AssembliesGeneratedDuringBuild |
Optionaler String[]-Parameter. Gibt Verweise auf Assemblys an, die sich während des Buildprozesses ändern. Beispielsweise enthält eine Microsoft Visual Studio 2005-Projektmappe möglicherweise ein Projekt, das auf die kompilierte Ausgabe eines anderen Projekts verweist. In diesem Fall kann dem AssembliesGeneratedDuringBuild-Parameter die kompilierte Ausgabe des zweiten Projekts hinzugefügt werden. Hinweis: AssembliesGeneratedDuringBuild muss Verweise auf den vollständigen Satz der Assemblys enthalten, die von einer Buildprojektmappe generiert werden. |
AssemblyName |
Erforderlicher String-Parameter. Gibt den Kurznamen der Assembly an, die für ein Projekt generiert wird. Wenn beispielsweise ein Projekt eine ausführbare Microsoft Windows-Datei mit dem Namen WinExeAssembly.exe generiert, hat der AssemblyName-Parameter den Wert WinExeAssembly. |
GeneratedBaml |
Optionaler ITaskItem[]-Ausgabeparameter. Enthält die Liste der generierten Dateien im XAML-Binärformat. |
KnownReferencePaths |
Optionaler String[]-Parameter. Gibt Verweise auf Assemblys an, die sich während des Buildprozesses nicht ändern. Schließt Assemblys ein, die im globaler Assemblycache (GAC), in einem Microsoft .NET Framework-Installationsverzeichnis usw. gesucht werden. |
Language |
Erforderlicher String-Parameter. Gibt die verwaltete Sprache an, die der Compiler unterstützt. Die gültigen Optionen sind C#, VB, JScript, J# und C++. |
LocalizationDirectivesToLocFile |
Optionaler String-Parameter. Gibt an, wie Lokalisierungsinformationen für jede XAML-Quelldatei generiert werden. Die gültigen Optionen sind None, CommentsOnly und All. |
OutputPath |
Erforderlicher String-Parameter. Gibt das Verzeichnis an, in dem die Dateien im XAML-Binärformat generiert werden. |
OutputType |
Erforderlicher String-Parameter. Gibt den Typ der Assembly an, die von einem Projekt generiert wird. Die gültigen Optionen sind winexe, exe, library und netmodule. |
References |
Optionaler ITaskItem[]-Parameter. Gibt die Liste der Verweise aus Dateien auf Assemblys an, in denen die in den XAML-Dateien verwendeten Typen enthalten sind. Ein Verweis zeigt auf die von der GenerateTemporaryTargetAssembly-Aufgabe generierte Assembly, die vor der MarkupCompilePass2-Aufgabe ausgeführt werden muss. |
RootNamespace |
Optionaler String-Parameter. Gibt den Stammnamespace für Klassen an, die sich im Projekt befinden. RootNamespace wird auch als Standardnamespace für eine generierte verwaltete Codedatei verwendet, wenn die entsprechende XAML-Datei das x:Class-Attribut nicht enthält. |
XAMLDebuggingInformation |
Optionaler Boolean-Parameter. Bei true werden Diagnoseinformationen generiert und in die kompilierte XAML integriert, um das Debuggen zu unterstützen. |
Hinweise
Vor dem Ausführen von MarkupCompilePass2 müssen Sie eine temporäre Assembly mit den Typen generieren, die von den XAML-Dateien verwendet wurden, deren Markupkompilierungsdurchlauf verschoben wurde. Sie generieren die temporäre Assembly, indem Sie die GenerateTemporaryTargetAssembly-Aufgabe ausführen.
Ein Verweis auf die generierte temporäre Assembly wird dem MarkupCompilePass2 während der Ausführung bereitgestellt, sodass die XAML-Dateien, deren Kompilierung im ersten Markupkompilierungsdurchlauf verschoben wurde, nun im Binärformat kompiliert werden können.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie mit der MarkupCompilePass2-Aufgabe ein zweiter Kompilierungsdurchlauf ausgeführt wird.
<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>
Siehe auch
Konzepte
Erstellen einer WPF-Anwendung (WPF)
Übersicht über XAML-Browseranwendungen von Windows Presentation Foundation
Weitere Ressourcen
Windows Presentation Foundation MSBuild-Referenz