Condividi tramite


UnregisterAssembly (attività)

Annulla la registrazione degli assembly specificati ai fini dell'interoperabilità COM. Esegue operazioni inverse rispetto all'attività RegisterAssembly.

Parametri

Nella tabella che segue vengono descritti i parametri dell'attività UnregisterAssembly.

Parametro Descrizione
Assemblies Parametro ITaskItem[] facoltativo.

Specifica gli assembly di cui annullare la registrazione.
AssemblyListFile Parametro ITaskItem facoltativo.

Contiene informazioni sullo stato tra l'attività RegisterAssembly e l'attività UnregisterAssembly. Questo impedisce all'attività di tentare l'annullamento della registrazione di un assembly che non è riuscita nell'attività RegisterAssembly.

Se questo parametro è specificato, i parametri Assemblies e TypeLibFiles verranno ignorati.
TypeLibFiles Parametro di output ITaskItem[] facoltativo.

Annulla la registrazione della libreria dei tipi indicata dall'assembly specificato. Nota: questo parametro è necessario solo se il nome dei file della libreria dei tipi non corrisponde a quello dell'assembly.

Osservazioni:

Per la corretta esecuzione dell'attività non è necessario che l'assembly sia presente. Se si prova ad annullare la registrazione di un assembly inesistente, l'attività verrà comunque eseguita correttamente e verrà visualizzato un avviso. Questa situazione si verifica perché l'attività ha la funzione di rimuovere la registrazione dell'assembly dal Registro di sistema. Se l'assembly non esiste, non si trova nel Registro di sistema e l'attività viene pertanto eseguita correttamente.

Oltre ai parametri elencati sopra, questa attività eredita i parametri dalla classe AppDomainIsolatedTaskExtension, che a sua volta eredita dalla classe MarshalByRefObject. La classe MarshalByRefObject offre la stessa funzionalità della classe Task, ma è possibile crearne un'istanza nel relativo dominio dell'applicazione.

Esempio

Nell'esempio seguente l'attività UnregisterAssembly viene usata per annullare la registrazione dell'assembly eventualmente presente nel percorso specificato dalle proprietà OutputPath e 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>

Vedi anche