Freigeben über


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

Windows Presentation Foundation MSBuild-Aufgabenreferenz

MSBuild-Referenz

Referenz zu MSBuild-Aufgaben