UnregisterAssembly 작업
COM interop용으로 지정된 어셈블리의 등록을 취소합니다. RegisterAssembly 작업을 반대로 수행합니다.
매개 변수
다음 표에서는 UnregisterAssembly 작업의 매개 변수에 대해 설명합니다.
Parameter |
설명 |
---|---|
Assemblies |
선택적 ITaskItem[] 매개 변수입니다. 등록 취소할 어셈블리를 지정합니다. |
AssemblyListFile |
선택적 ITaskItem 매개 변수입니다. RegisterAssembly 작업과 UnregisterAssembly 작업 사이의 상태에 대한 정보를 포함합니다. 이 매개 변수는 해당 작업이 RegisterAssembly 작업 등록에 실패한 어셈블리의 등록을 취소하지 못하게 합니다. 이 매개 변수가 지정되면 Assemblies 및 TypeLibFiles 매개 변수는 무시됩니다. |
TypeLibFiles |
선택적 ITaskItem[] 출력 매개 변수입니다. 지정한 어셈블리에서 특정 형식 라이브러리의 등록을 취소합니다. 참고 이 매개 변수는 형식 라이브러리 파일 이름이 어셈블리 이름과 다른 경우에만 필요합니다. |
설명
이 작업을 수행하기 위해 어셈블리가 있어야 할 필요는 없습니다. 존재하지 않는 어셈블리의 등록을 취소하려 시도하면 작업이 수행되고 경고 메시지가 표시됩니다. 이러한 현상은 이 작업에서는 레지스트리로부터 어셈블리 등록을 제거하기 때문입니다. 어셈블리가 존재하지 않으면 레지스트리에 등록되지 않은 상태이므로 작업을 수행하는 데 문제가 없습니다.
위에 나열된 매개 변수 외에도 이 작업은 MarshalByRefObject 클래스에서 상속하는 AppDomainIsolatedTaskExtension 클래스의 매개 변수를 상속합니다. MarshalByRefObject 클래스는 Task 클래스와 동일한 기능을 제공하지만 자체 응용 프로그램 도메인에서 인스턴스화될 수 있습니다.
예제
다음 예제에서는 OutputPath 및 FileName 속성으로 지정한 경로에 어셈블리가 있는 경우 UnregisterAssembly 작업을 사용하여 이 어셈블리의 등록을 취소합니다.
<Project xmlns="https://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>