MarkupCompilePass2-Aufgabe
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 der Parameter false zurückgibt, wird die Aufgabe in derselben AppDomain wie Microsoft build engine (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 global assembly cache (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 WPF-XAML-Browseranwendungen