Udostępnij za pośrednictwem


MarkupCompilePass2 — zadanie

Zadanie MarkupCompilePass2 wykonuje kompilację znaczników drugiego przekazywania w plikach XAML, które odwołują się do typów w tym samym projekcie.

Parametry zadania

Parametr Opis
AlwaysCompileMarkupFilesInSeparateDomain Opcjonalny parametr logiczny .

Określa, czy należy uruchomić zadanie w osobnym AppDomainobiekcie . Jeśli ten parametr zwraca wartość false, zadanie jest uruchamiane w taki sam sposób AppDomain jak program MSBuild i działa szybciej. Jeśli parametr zwraca wartość true, zadanie jest uruchamiane w sekundzie AppDomain odizolowanej od programu MSBuild i działa wolniej.
AssembliesGeneratedDuringBuild Opcjonalny parametr String[] .

Określa odwołania do zestawów, które zmieniają się podczas procesu kompilacji. Na przykład rozwiązanie programu Visual Studio może zawierać jeden projekt, który odwołuje się do skompilowanych danych wyjściowych innego projektu. W takim przypadku skompilowane dane wyjściowe drugiego projektu można dodać do elementu AssembliesGeneratedDuringBuild.

Uwaga: ZestawyGeneratedDuringBuild muszą zawierać odwołania do kompletnego zestawu zestawów generowanych przez rozwiązanie kompilacji.
AssemblyName Wymagany parametr ciągu .

Określa krótką nazwę zestawu, który jest generowany dla projektu. Jeśli na przykład projekt generuje plik wykonywalny, którego nazwa to WinExeAssembly.exe, parametr AssemblyName ma wartość WinExeAssembly.
GeneratedBaml Opcjonalny parametr wyjściowy ITaskItem[] .

Zawiera listę wygenerowanych plików w formacie binarnym XAML.
KnownReferencePaths Opcjonalny parametr String[] .

Określa odwołania do zestawów, które nigdy nie są zmieniane podczas procesu kompilacji. Obejmuje zestawy znajdujące się w globalnej pamięci podręcznej zestawów (GAC) w katalogu instalacyjnym platformy .NET itd.
Language Wymagany parametr ciągu .

Określa język zarządzany, który obsługuje kompilator. Prawidłowe opcje to C#, VB, JScript i C++.
LocalizationDirectivesToLocFile Opcjonalny parametr ciągu .

Określa sposób generowania informacji o lokalizacji dla każdego źródłowego pliku XAML. Prawidłowe opcje to Brak, KomentarzeOnly i Wszystkie.
OutputPath Wymagany parametr ciągu .

Określa katalog, w którym generowane są pliki formatu binarnego XAML.
OutputType Wymagany parametr ciągu .

Określa typ zestawu generowanego przez projekt. Prawidłowe opcje to winexe, exe, library i netmodule.
References Opcjonalny parametr ITaskItem[] .

Określa listę odwołań z plików do zestawów zawierających typy używane w plikach XAML. Jednym z odwołań jest zestaw wygenerowany przez GenerateTemporaryTargetAssembly zadanie, które musi zostać uruchomione MarkupCompilePass2 przed zadaniem.
RootNamespace Opcjonalny parametr ciągu .

Określa przestrzeń nazw katalogu głównego dla klas, które znajdują się wewnątrz projektu. RootNamespace jest również używana jako domyślna przestrzeń nazw wygenerowanego pliku kodu zarządzanego, gdy odpowiedni plik XAML nie zawiera atrybutu x:Class .
XAMLDebuggingInformation Opcjonalny parametr logiczny .

W przypadku wartości true informacje diagnostyczne są generowane i uwzględniane w skompilowanym kodzie XAML w celu pomocy w debugowaniu.

Uwagi

Przed uruchomieniem polecenia MarkupCompilePass2 należy wygenerować zestaw tymczasowy zawierający typy używane przez pliki XAML, których przekazywanie kompilacji znaczników zostało odroczone. Zestaw tymczasowy jest generowany przez uruchomienie zadania GenerateTemporaryTargetAssembly .

Odwołanie do wygenerowanego zestawu tymczasowego jest udostępniane MarkupCompilePass2 podczas jego uruchamiania, co umożliwia plikom XAML, których kompilacja została odroczona w pierwszym przekazaniu kompilacji znaczników do teraz skompilowanego do formatu binarnego.

Przykład

W poniższym przykładzie pokazano, jak użyć MarkupCompilePass2 zadania do wykonania drugiej kompilacji z przekazywaniem.

<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>

Zobacz też