RegisterAssembly - задача
Считывает метаданные указанной сборки и добавляет в реестр необходимые записи, что позволяет COM-клиентам прозрачно создавать классы .NET Framework. Поведение этой задачи близко к поведению средства регистрации сборок Regasm.exe, но не идентично ему.
Параметры
В следующей таблице приводятся параметры задачи RegisterAssembly
.
Параметр | Описание |
---|---|
Assemblies |
Обязательный параметр ITaskItem[] .Указывает сборки для регистрации в COM. |
AssemblyListFile |
Необязательный параметр ITaskItem. Содержит сведения о состоянии взаимодействия между задачей RegisterAssembly и задачей UnregisterAssembly. Благодаря этим сведениям задача UnregisterAssembly не пытается отменить регистрацию для сборки, которую не удалось зарегистрировать в задаче RegisterAssembly . |
CreateCodeBase |
Необязательный параметр Boolean .Если он имеет значение true , то в реестре создается запись codebase, которая указывает путь к файлу сборки, не установленному в глобальном кэше сборок. Не следует указывать этот параметр, если впоследствии вы будете устанавливать регистрируемую сборку в глобальном кэше сборок. |
TypeLibFiles |
Необязательный выходной параметр ITaskItem[] .Указывает библиотеку типов, которую нужно создать из указанной сборки. Создаваемая библиотека типов содержит определения типов, заданные в сборке. Библиотека типов создается только в том случае, если выполняется одно из следующих условий: — библиотеки типов с таким именем не существует в этом расположении; — библиотека типов существует, но она старше передаваемой сборки. Если библиотека типов новее, чем передаваемая сборка, то новая библиотека не создается, но сборка будет зарегистрирована. Если указан этот параметр, он должен иметь такое же количество элементов, как и параметр Assemblies , иначе задача завершится сбоем. Если входные данные не указаны, задача по умолчанию использует имя сборки, добавляя к нему расширение .tlb. |
Замечания
Помимо перечисленных выше параметров, эта задача наследует параметры от класса TaskExtension, который, в свою очередь, наследует от класса Task. Список этих дополнительных параметров и их описания см. в статье Базовый класс TaskExtension.
Пример
В следующем примере задача RegisterAssembly
регистрирует сборки, определенные в коллекции элементов MyAssemblies
.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MyAssemblies Include="MyAssembly.dll" />
<ItemGroup>
<Target Name="RegisterAssemblies">
<RegisterAssembly
Assemblies="@(MyAssemblies)" >
</Target>
</Project>