Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сопоставляет задачу, на которую ссылается элемент Task , с сборкой, содержащей реализацию задачи.
<Project><UsingTask>
Синтаксис
<UsingTask TaskName="TaskName"
AssemblyName = "AssemblyName"
TaskFactory = "ClassName"
Condition="'String A'=='String B'" />
Замечание
В отличие от свойств и элементов, первыйUsingTask элемент, применяемый к объекту TaskName , используется; для переопределения задач необходимо определить новый UsingTaskперед существующим элементом или указать Override="true" в новом UsingTask.
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Attributes
| Свойство | Description |
|---|---|
Architecture |
Необязательный атрибут. Указывает, что задача должна выполняться в процессе указанной битности. Если текущий процесс не соответствует требованию, задача выполняется в процессе узла задач, который выполняется. Поддерживаются x86 значения (32-разрядная), x64 (64-разрядная), CurrentArchitectureа также * (любая архитектура). |
AssemblyName |
Обязательный AssemblyName атрибут или AssemblyFile атрибут.Имя загружаемой сборки. Атрибут AssemblyName принимает сборки с строгим именем, хотя строгое именование не требуется. Использование этого атрибута эквивалентно загрузке сборки с помощью Load метода в .NET.Этот атрибут нельзя использовать, если AssemblyFile используется атрибут. |
AssemblyFile |
AssemblyName Требуется либо AssemblyFile атрибут.Путь к файлу сборки. Этот атрибут принимает полные пути или относительные пути. Относительные пути относительно каталога файла проекта или целевого файла, в котором UsingTask объявлен элемент. Использование этого атрибута эквивалентно загрузке сборки с помощью LoadFrom метода в .NET.Этот атрибут нельзя использовать, если AssemblyName используется атрибут. |
Override |
Необязательный атрибут. Указывает, что этот UsingTask элемент должен быть выше приоритета, чем другие элементы, определяющие то же имя задачи. Для каждого имени задачи разрешено только одно переопределение. Добавлено в MSBuild 17.2. |
Runtime |
Необязательный атрибут. Указывает среду выполнения задачи, в котором должна выполняться задача. Если текущий процесс MSBuild не соответствует требованию, задача выполняется в процессе узла задач, который выполняется. Поддерживаемые значения: CLR2 (.NET Framework 3.5), CLR4 (.NET Framework 4.7.2 или более поздней версии), CurrentRuntimeNET (.NET) и * (любая среда выполнения).
Runtime="NET"поддерживается начиная с MSBuild 18.0 (пакет SDK для .NET 10/Visual Studio 2026) и в настоящее время поддерживается только для проектов.Microsoft.NET.Sdk
dotnet build (версия .NET MSBuild) не может выполнять CLR2/CLR4 задачи. |
TaskFactory |
Необязательный атрибут. Указывает класс в сборке, ответственной за создание экземпляров указанного Task имени. Пользователь также может указать Task дочерний элемент, который фабрика задач получает и использует для создания задачи. Содержимое Task объекта зависит от фабрики задач. Значение по умолчанию TaskFactory — это AssemblyTaskFactoryзагрузка задачи в выполняющийся процесс. |
TaskName |
Обязательный атрибут. Имя задачи для ссылки из сборки. Если неоднозначность возможна, этот атрибут всегда должен указывать полные пространства имен. Если есть неоднозначность, MSBuild выбирает произвольное совпадение, которое может привести к непредвиденным результатам. |
Condition |
Необязательный атрибут. Условие для вычисления. Дополнительные сведения см. в разделе Условия. |
Дочерние элементы
| Элемент | Description |
|---|---|
| ParameterGroup | Набор параметров, отображаемых в задаче, созданной указанным TaskFactory. |
| задачи | Данные, передаваемые TaskFactory в создание экземпляра задачи. |
Родительские элементы
| Элемент | Description |
|---|---|
| Проект | Обязательный корневой элемент файла проекта MSBuild. |
Замечания
Переменные среды, свойства командной строки, свойства уровня проекта и элементы уровня проекта можно ссылаться на элементы, включенные в UsingTask файл проекта напрямую или через импортированный файл проекта. Дополнительные сведения см. в разделе Задачи.
Замечание
Свойства и элементы уровня проекта не имеют значения, если UsingTask элемент поступает из одного из файлов .tasks , которые глобально зарегистрированы в подсистеме MSBuild. Значения уровня проекта не являются глобальными для MSBuild.
В MSBuild 4.0 можно загружать задачи из .overridetask файлов.
Сборка, содержащая настраиваемую задачу, загружается при Task первом использовании.
Пример 1
В следующем примере показано, как использовать UsingTask элемент с атрибутом AssemblyFile .
<UsingTask TaskName="Email"
AssemblyFile="c:\myTasks\myTask.dll" />
Так как нет или Runtime нетTaskHost, задача выполняется в процессе MSBuild в среде выполнения и архитектуре, которая выполняется для данной сборки.
Пример 2
В следующем примере показано, как использовать UsingTask элемент с атрибутом AssemblyName и пользовательским TaskFactory , определенным в этой сборке.
<UsingTask TaskName="MyTask" AssemblyName="My.Assembly" TaskFactory="MyTaskFactory">
<ParameterGroup>
<Parameter1 ParameterType="System.String" Required="False" Output="False"/>
<Parameter2 ParameterType="System.Int" Required="True" Output="False"/>
...
</ParameterGroup>
<Task>
... Task factory-specific data ...
</Task>
</UsingTask>