次の方法で共有


UnregisterAssembly タスク

COM 相互運用のために、指定されたアセンブリの登録を解除します。RegisterAssembly タスクとは逆の処理になります。

パラメーター

UnregisterAssembly タスクのパラメーターの説明を次の表に示します。

パラメーター

説明

Assemblies

省略可能な ITaskItem[] 型のパラメーターです。

登録解除するアセンブリを指定します。

AssemblyListFile

省略可能な ITaskItem 型のパラメーターです。

RegisterAssembly タスクと UnregisterAssembly タスクの間の状態に関する情報が含まれます。これによって、RegisterAssembly タスクで登録に失敗したアセンブリの登録をタスクが解除しないようにできます。

このパラメーターを指定すると、Assemblies プロパティおよび TypeLibFiles プロパティは無視されます。

TypeLibFiles

省略可能な ITaskItem[] 型の出力パラメーター。

指定されたアセンブリから指定されたタイプ ライブラリを登録解除します。

メモメモ
このパラメーターは、タイプ ライブラリのファイル名がアセンブリ名と異なる場合にのみ必要です。

解説

指定したアセンブリが存在していなくても、このタスクは正常に終了します。存在しないアセンブリの登録を解除しようとした場合、タスクは警告を発行して正常終了します。これは、アセンブリ登録をレジストリから削除することが、このタスクのジョブであるためです。アセンブリが存在しない場合、アセンブリはレジストリに登録されていないため、タスクは正常に終了します。

上記のパラメーター以外に、このタスクは AppDomainIsolatedTaskExtension クラスからパラメーターを継承します。このクラス自体は、MarshalByRefObject クラスから継承されます。MarshalByRefObject クラスは、Task クラスと同じ機能を提供しますが、独自のアプリケーション ドメインでインスタンス化できます。

使用例

次の例では、UnregisterAssembly タスクを使用して、OutputPath プロパティおよび FileName プロパティで指定されたパスにあるアセンブリを (存在する場合) 登録解除します。

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

参照

関連項目

RegisterAssembly タスク

概念

MSBuild タスク

その他の技術情報

MSBuild タスク リファレンス