MarkupCompilePass2 – úloha
Úloha MarkupCompilePass2 provádí kompilaci značek druhého průchodu u souborů XAML, které odkazují na typy ve stejném projektu.
Parametry úkolu
Parametr | Popis |
---|---|
AlwaysCompileMarkupFilesInSeparateDomain |
Volitelný logický parametr. Určuje, zda má být úloha spuštěna v samostatném souboru AppDomain. Pokud tento parametr vrátí hodnotu false, úloha se spustí ve stejném AppDomain pořadí jako MSBuild a spustí se rychleji. Pokud parametr vrátí hodnotu true, úloha se spustí v sekundě AppDomain , která je izolovaná od nástroje MSBuild a běží pomaleji. |
AssembliesGeneratedDuringBuild |
Volitelný parametr String[] Určuje odkazy na sestavení, která se mění během procesu sestavení. Například řešení sady Visual Studio může obsahovat jeden projekt, který odkazuje na zkompilovaný výstup jiného projektu. V tomto případě lze zkompilovaný výstup druhého projektu přidat do SestaveníGeneratedDuringBuild. Poznámka: SestaveníGeneratedDuringBuild musí obsahovat odkazy na kompletní sadu sestavení generovaných řešením sestavení. |
AssemblyName |
Povinný parametr String . Určuje krátký název sestavení, které je generováno pro projekt. Pokud například projekt generuje spustitelný soubor, jehož název je WinExeAssembly.exe, má parametr AssemblyName hodnotu WinExeAssembly. |
GeneratedBaml |
Volitelný výstupní parametr ITaskItem[]. Obsahuje seznam vygenerovaných souborů v binárním formátu XAML. |
KnownReferencePaths |
Volitelný parametr String[] Určuje odkazy na sestavení, která se během procesu sestavení nikdy nezměnila. Zahrnuje sestavení umístěná v globální mezipaměti sestavení (GAC), v instalačním adresáři .NET atd. |
Language |
Povinný parametr String . Určuje spravovaný jazyk, který kompilátor podporuje. Platné možnosti jsou C#, VB, JScript a C++. |
LocalizationDirectivesToLocFile |
Volitelný parametr String . Určuje, jak generovat informace o lokalizaci pro každý zdrojový soubor XAML. Platné možnosti jsou None, CommentsOnly a All. |
OutputPath |
Povinný parametr String . Určuje adresář, ve kterém se generují vygenerované soubory binárního formátu XAML. |
OutputType |
Povinný parametr String . Určuje typ sestavení, které je generováno projektem. Platné možnosti jsou winexe, exe, knihovna a netmodule. |
References |
Volitelný parametr ITaskItem[]. Určuje seznam odkazů ze souborů na sestavení, která obsahují typy používané v souborech XAML. Jedním z odkazů je sestavení vygenerované úlohou GenerateTemporaryTargetAssembly , které musí být spuštěno před úlohou MarkupCompilePass2 . |
RootNamespace |
Volitelný parametr String . Určuje kořenový obor názvů pro třídy, které jsou uvnitř projektu. RootNamespace se také používá jako výchozí obor názvů vygenerovaného souboru spravovaného kódu, pokud odpovídající soubor XAML neobsahuje x:Class atribut. |
XAMLDebuggingInformation |
Volitelný logický parametr. Pokud je pravda, vygenerují se diagnostické informace a zahrnou se do zkompilovaného XAML, aby bylo možné ladit. |
Poznámky
Před spuštěním MarkupCompilePass2 je nutné vygenerovat dočasné sestavení, které obsahuje typy používané soubory XAML, jejichž kompilace značek byla odložena. Dočasné sestavení vygenerujete spuštěním úlohy GenerateTemporaryTargetAssembly .
Odkaz na vygenerované dočasné sestavení je poskytován při MarkupCompilePass2 spuštění, což umožňuje souborům XAML, jejichž kompilace byla odložena v první kompilaci značek, nyní být zkompilována do binárního formátu.
Příklad
Následující příklad ukazuje, jak použít MarkupCompilePass2 úlohu k provedení druhé kompilace pass.
<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>