MarkupCompilePass2 (tâche)
La tâche MarkupCompilePass2 effectue la première passe de compilation du balisage sur les fichiers XAML qui référencent des types dans le même projet.
Paramètres de tâche
Paramètre | Description |
---|---|
AlwaysCompileMarkupFilesInSeparateDomain |
Paramètre Boolean facultatif. Indique si la tâche doit être exécutée dans un AppDomain séparé. Si ce paramètre retourne false, la tâche s’exécute dans le même AppDomain que MSBuild, et plus rapidement. Si le paramètre retourne true, la tâche s’exécute dans un deuxième AppDomain isolé de MSBuild, et plus lentement. |
AssembliesGeneratedDuringBuild |
Paramètre String[] facultatif. Spécifie des références à des assemblys qui changent pendant le processus de génération. Par exemple, une solution Visual Studio peut contenir un projet qui référence la sortie compilée d’un autre projet. Dans ce cas, la sortie compilée du deuxième projet peut être ajoutée à AssembliesGeneratedDuringBuild. Remarque : AssembliesGeneratedDuringBuild doit contenir des références au jeu complet des assemblys générés par une solution de génération. |
AssemblyName |
Paramètre String obligatoire. Spécifie le nom court de l’assembly généré pour un projet. Par exemple, si un projet génère un exécutable dont le nom est WinExeAssembly.exe, le paramètre AssemblyName a la valeur WinExeAssembly. |
GeneratedBaml |
Paramètre de sortie ITaskItem[] facultatif. Contient la liste des fichiers générés au format binaire XAML. |
KnownReferencePaths |
Paramètre String[] facultatif. Spécifie les références à des assemblys qui ne sont jamais modifiés pendant le processus de génération. Inclut des assemblys situés dans le Global Assembly Cache (GAC), dans un répertoire d’installation .NET, et ainsi de suite. |
Language |
Paramètre String obligatoire. Spécifie le langage managé pris en charge par le compilateur. Les options valides sont C#, VB, JScript et C++. |
LocalizationDirectivesToLocFile |
Paramètre String facultatif. Spécifie comment générer des informations de localisation pour chaque fichier XAML source. Les options valides sont None, CommentsOnly et All. |
OutputPath |
Paramètre String obligatoire. Spécifie le répertoire dans lequel les fichiers au format binaire XAML sont générés. |
OutputType |
Paramètre String obligatoire. Spécifie le type d’assembly généré par un projet. Les options valides sont winexe, exe, library et netmodule. |
References |
Paramètre ITaskItem[] facultatif. Spécifie la liste des références des fichiers aux assemblys qui contiennent les types qui sont utilisés dans les fichiers XAML. Une des références correspond à l’assembly qui a été généré par la tâche GenerateTemporaryTargetAssembly, qui doit être exécutée avant la tâche MarkupCompilePass2. |
RootNamespace |
Paramètre String facultatif. Spécifie l’espace de noms racine pour les classes qui se trouvent dans le projet. RootNamespace est également utilisé comme espace de noms par défaut d’un fichier de code managé généré lorsque le fichier XAML correspondant n’inclut pas l’attribut x:Class . |
XAMLDebuggingInformation |
Paramètre Boolean facultatif. Quand la valeur est true, des informations de diagnostic sont générées et incluses dans le code XAML compilé pour faciliter le débogage. |
Remarques
Avant d’exécuter MarkupCompilePass2, vous devez générer un assembly temporaire qui contient les types utilisés par les fichiers XAML dont la passe de compilation du balisage a été différée. Pour générer l’assembly temporaire, exécutez la tâche GenerateTemporaryTargetAssembly.
Une référence à l’assembly temporaire généré est fournie à MarkupCompilePass2 lors de son exécution, ce qui permet aux fichiers XAML dont la compilation a été différée lors de la première passe de compilation du balisage d’être maintenant compilés au format binaire.
Exemple
L’exemple suivant montre comment utiliser la tâche MarkupCompilePass2 pour exécuter une deuxième passe de compilation.
<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>