Поделиться через


Задача MarkupCompilePass2

Задача MarkupCompilePass2 выполняет компиляцию разметки второго прохода на Язык XAML (Extensible Application Markup Language) файлах, ссылочные типы которых имеются в том же проекте.

Параметры задачи

Параметр

Описание

AlwaysCompileMarkupFilesInSeparateDomain

Необязательный логический параметр Boolean.

Определяет то, выполняется ли задача в отдельном AppDomain.Если этот параметр возвращает значение false, то задача выполняется в том же самом AppDomain как и MSBuild (Microsoft build engine), и выполняется быстрее.Если этот параметр возвращает значение true, то задача выполняется во втором AppDomain, который изолирован от MSBuild и работает медленнее.

AssembliesGeneratedDuringBuild

Дополнительный параметр String[].

Задает ссылки на сборки, которые изменяются в процессе компоновки.Например, решение Microsoft Visual Studio 2005 может содержать один проект, который ссылается на выходные данные компиляции другого проекта.В этом случае скомпилированный результат второго проекта можно добавить к AssembliesGeneratedDuringBuild.

Примечание: объект AssembliesGeneratedDuringBuild должен содержать ссылки на полный комплект, которые созданы в соответствии с решением построения.

AssemblyName

Обязательный параметр String.

Задает короткое имя сборки, которая создается для проекта.Например, если проект создает исполняемый файл Microsoft Windows с именем WinExeAssembly.exe, то параметр AssemblyName имеет значение WinExeAssembly.

GeneratedBaml

Необязательный выходной параметр ITaskItem[].

Содержит список созданных файлов в двоичном формате XAML.

KnownReferencePaths

Дополнительный параметр String[].

Задает ссылки на сборки, которые никогда не изменяются в процессе компоновки.Включает сборки, которые находятся в GAC (global assembly cache — глобальный кэш сборок), в каталоге установки Microsoft .NET Framework и т. д.

Language

Обязательный параметр String.

Задает управляемый язык, который поддерживает компилятор.Допустимые значения: C#" VB" JScriptи C++.

LocalizationDirectivesToLocFile

Необязательный параметр String.

Определение того, как создать информацию о локализации для каждого исходного файла XAML.Разрешенными параметрами являются None, CommentsOnly и All.

OutputPath

Обязательный параметр String.

Указывает папку, в которой создаются файлы двоичного формата для созданного XAML.

OutputType

Обязательный параметр String.

Задает тип сборки, которая создается проектом.Разрешенными параметрами являются winexe, exe, library и netmodule.

References

Необязательный параметр ITaskItem[].

Задает список содержащихся в файлах ссылок на сборки, которые содержат типы, используемые в файлах XAML.Одна ссылка это ссылка на сборку, созданную задачей GenerateTemporaryTargetAssembly, которая должна выполняться перед задачей MarkupCompilePass2.

RootNamespace

Необязательный параметр String.

Задает корневое пространство имен для классов, имеющихся внутри проекта.RootNamespace также используется как пространство имен по умолчанию созданного файла управляемого кода, когда соответствующий файл XAML не включает атрибут x:Class.

XAMLDebuggingInformation

Необязательный логический параметр Boolean.

Когда присвоено значение true, создается диагностическая информация, которая включается в откомпилированный XAML, чтобы способствовать отладке.

Заметки

Перед запуском MarkupCompilePass2 вы должны создать временную сборку, содержащую типы, которые используются файлами XAML, чья метка прохода компиляции разметки была отложена.Временная сборка создается запуском задачи GenerateTemporaryTargetAssembly.

Ссылка на созданную временную сборку передается файлам MarkupCompilePass2, когда они выполняются, позволяя файлам XAML, компиляция которых была отложена при первом проходе процесса компиляции, быть скомпилированными в двоичный формат.

Пример

Следующий пример показывает, как использовать задачу MarkupCompilePass2 для выполнения второго прохода компиляции.

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

См. также

Основные понятия

Построение приложения WPF

Общие сведения о приложениях браузера WPF XAML

Другие ресурсы

Справочные сведения о WPF для MSBuild

Справочные сведения о задачах WPF для MSBuild

Справочные сведения о MSBuild

Справочные сведения о задачах MSBuild