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


UnregisterAssembly - задача

Отменяет регистрацию указанных сборок для целей COM-взаимодействия. Эта задача противоположна задаче RegisterAssembly.

Параметры

В следующей таблице приводятся параметры задачи UnregisterAssembly.

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

Указывает сборки, регистрацию которых следует отменить.
AssemblyListFile Необязательный параметр ITaskItem.

Содержит сведения о состоянии взаимодействия между задачами RegisterAssembly и UnregisterAssembly. Благодаря этому задача не пытается отменить регистрацию для сборки, которую не удалось зарегистрировать в задаче RegisterAssembly.

Если этот параметр указан, параметры Assemblies и TypeLibFiles игнорируются.
TypeLibFiles Необязательный выходной параметр ITaskItem[] .

Отменяет регистрацию библиотеки заданного типа в указанной сборке. Примечание. Этот параметр является обязательным только в том случае, если имя файла библиотеки типов отличается от имени сборки.

Замечания

Для успешного выполнения задачи не требуется, чтобы существовала указанная сборка. Если вы попытаетесь отменить регистрацию несуществующей сборки, задача завершится успешно с предупреждением. Такая логика объясняется тем, что целью этой задачи является удаление регистрации сборки из реестра. Если сборка не существует, то в реестре нет информации о ней, следовательно, задача выполнена успешно.

Помимо перечисленных выше параметров, эта задача наследует параметры от класса AppDomainIsolatedTaskExtension, который, в свою очередь, наследует от класса MarshalByRefObject. Класс MarshalByRefObject предоставляет те же возможности, что и класс Task, но его экземпляр можно создать в собственном домене приложения.

Пример

В следующем примере задача UnregisterAssembly отменяет регистрацию сборки, расположенной по пути, указанному в свойствах OutputPath и FileName, если такая сборка существует.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <OutputPath>\Output\</OutputPath>
        <FileName>MyFile.dll</FileName>
    </PropertyGroup>
    <Target Name="UnregisterAssemblies">
        <UnregisterAssembly
            Condition="Exists('$(OutputPath)$(FileName)')"
            Assemblies="$(OutputPath)$(FileName)" />
    </Target>

</Project>

См. также