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


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>

См. также