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>