Partager via


UnregisterAssembly (tâche)

Désinscrit les assemblys spécifiés dans le cadre de COM Interop. Exécute l’opération inverse de la tâche RegisterAssembly.

Paramètres

Le tableau ci-dessous décrit les paramètres de la tâche UnregisterAssembly .

Paramètre Description
Assemblies Paramètre ITaskItem[] facultatif.

Spécifie les assemblys à désinscrire.
AssemblyListFile Paramètre ITaskItem facultatif.

Contient des informations relatives à l’état entre la tâche RegisterAssembly et la tâche UnregisterAssembly. La tâche ne peut donc pas tenter de désinscrire un assembly dont l’inscription dans la tâche RegisterAssembly a échoué.

Si ce paramètre est spécifié, les paramètres Assemblies et TypeLibFiles sont ignorés.
TypeLibFiles Paramètre de sortie ITaskItem[] facultatif.

Désinscrit la bibliothèque de types spécifiée de l’assembly indiqué. Remarque : Ce paramètre est nécessaire uniquement si le nom de fichier de la bibliothèque de types est différent de celui de l’assembly.

Remarques

L’assembly ne doit pas forcément exister pour que cette tâche s’exécute correctement. Si vous tentez de désinscrire un assembly qui n’existe pas, la tâche réussit avec un avertissement. En effet, la tâche a pour but de supprimer l’inscription de l’assembly du Registre. Si l’assembly n’existe pas, il n’est pas dans le Registre, et par conséquent, la tâche réussit.

En plus des paramètres énumérés ci-dessus, cette tâche hérite des paramètres de la classe AppDomainIsolatedTaskExtension , qui elle-même hérite de la classe MarshalByRefObject . La classe MarshalByRefObject fournit la même fonctionnalité que la classe Task, mais peut être instanciée dans son propre domaine d’application.

Exemple

L’exemple suivant utilise la tâche UnregisterAssembly pour désinscrire l’assembly dans le chemin spécifié par les propriétés OutputPath et FileName, s’il existe.

<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>

Voir aussi