UnregisterAssembly-Aufgabe
Hebt die Registrierung der angegebenen Assemblys für COM-Interop-Zwecke auf Führt den umgekehrten Vorgang der RegisterAssembly-Aufgabe aus
Parameter
In der folgenden Tabelle werden die Parameter der UnregisterAssembly
-Aufgabe beschrieben.
Parameter | Beschreibung |
---|---|
Assemblies |
Optionaler ITaskItem[] -ParameterLegt die Assemblys fest, deren Registrierung aufgehoben werden soll |
AssemblyListFile |
Optionaler ITaskItem-Parameter. Enthält Informationen zum Zustand zwischen der RegisterAssembly - und der UnregisterAssembly -Aufgabe. Dies 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 die Parameter Assemblies und TypeLibFiles ignoriert. |
TypeLibFiles |
Optionaler ITaskItem[] -Ausgabeparameter.Hebt die angegebene Typbibliothek in der angegebenen Assembly auf. Hinweis: Dieser Parameter ist nur erforderlich, wenn der Name der Typbibliotheksdatei und der Name der Assembly sich unterscheiden. |
Hinweise
Zum erfolgreichen Ausführen der Aufgabe muss die Assembly nicht vorhanden sein. Wenn Sie versuchen, die Registrierung einer Assembly aufzuheben, die nicht vorhanden ist, wird die Aufgabe mit einer Warnung abgeschlossen. Dies liegt daran, dass die Aufgabe dafür verantwortlich ist, die Assemblyregistrierung aus der Registrierung zu entfernen. Wenn die Assembly nicht vorhanden ist, befindet sie sich nicht in der Registrierung, und der Task wird erfolgreich abgeschlossen.
Zusätzlich zu den oben aufgeführten Parametern erbt diese Aufgabe Parameter von der AppDomainIsolatedTaskExtension-Klasse, die selbst von der MarshalByRefObject-Klasse erbt. Die Klasse MarshalByRefObject
stellt die gleichen Funktionen wie die Klasse Task bereit, kann aber in ihrer eigenen Anwendungsdomäne instanziiert werden.
Beispiel
Im folgenden Beispiel wird die UnregisterAssembly
-Aufgabe verwendet, um die Registrierung der Assembly unter dem von den Eigenschaften OutputPath
und FileName
festgelegten Pfad (falls vorhanden) aufzuheben.
<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>