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>