UnregisterAssembly-Aufgabe
Hebt die Registrierung der angegebenen Assemblys für COM-Interop-Zwecke auf. Ihr Zweck ist dem der RegisterAssembly-Aufgabe entgegengesetzt.
Parameter
In der folgenden Tabelle werden die Parameter der UnregisterAssembly-Aufgabe beschrieben.
Parameter |
Description |
---|---|
Assemblies |
Optionaler ITaskItem[]-Parameter. Gibt die Assemblys an, deren Registrierung aufgehoben werden soll. |
AssemblyListFile |
Optionaler ITaskItem-Parameter. Enthält Informationen über den Zustand zwischen der RegisterAssembly-Aufgabe und der UnregisterAssembly-Aufgabe. Dadurch wird verhindert, dass die Aufgabe versucht, die Registrierung einer Assembly aufzuheben, die in der RegisterAssembly-Aufgabe nicht registriert werden konnte. Wenn dieser Parameter angegeben wird, werden der Assemblies-Parameter und der TypeLibFiles-Parameter ignoriert. |
TypeLibFiles |
Optionaler ITaskItem[]-Ausgabeparameter. Hebt die Registrierung der angegebenen Typbibliothek in der angegebenen Assembly auf. Hinweis Dieser Parameter ist nur erforderlich, wenn der Name der Typbibliotheksdatei nicht mit dem Assemblynamen übereinstimmt. |
Hinweise
Für eine erfolgreiche Ausführung dieser Aufgabe muss die Assembly nicht unbedingt vorhanden sein. Wenn Sie versuchen, die Registrierung einer nicht vorhandenen Assembly aufzuheben, wird die Aufgabe erfolgreich ausgeführt und eine Warnung ausgegeben. Der Zweck dieser Aufgabe ist es nämlich, die Assemblyregistrierung aus der Registrierung zu entfernen, und wenn die Assembly nicht vorhanden ist, ist sie auch nicht in der Registrierung enthalten, weshalb die Aufgabe erfolgreich ausgeführt wird.
Zusätzlich zu den oben aufgeführten Parametern erbt diese Aufgabe Parameter von der AppDomainIsolatedTaskExtension-Klasse, die selbst von der MarshalByRefObject-Klasse erbt. Die MarshalByRefObject-Klasse stellt die gleichen Funktionen wie die Task-Klasse bereit, kann jedoch in einer eigenen Anwendungsdomäne instanziiert werden kann.
Beispiel
Im folgenden Beispiel wird mithilfe der UnregisterAssembly-Aufgabe die Registrierung der Assembly aufgehoben, die sich möglicherweise in dem von der OutputPath-Eigenschaft und der FileName-Eigenschaft angegebenen Pfad befindet.
<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>