UnregisterAssembly タスク
COM 相互運用のために、指定されたアセンブリの登録を解除します。 RegisterAssembly タスクとは逆の処理になります。
パラメーター
UnregisterAssembly
タスクのパラメーターの説明を次の表に示します。
パラメーター | 説明 |
---|---|
Assemblies |
省略可能な ITaskItem[] 型のパラメーターです。登録解除するアセンブリを指定します。 |
AssemblyListFile |
省略可能な ITaskItem 型のパラメーターです。RegisterAssembly タスクと UnregisterAssembly タスクの間の状態に関する情報が含まれます。 これにより、RegisterAssembly タスクで登録に失敗したアセンブリの登録をタスクが解除しないようにできます。このパラメーターが指定されている場合、 Assemblies と TypeLibFiles のパラメーターは無視されます。 |
TypeLibFiles |
省略可能な ITaskItem[] 型の出力パラメーターです。指定したアセンブリから指定したタイプ アセンブリを登録解除します。 注: このパラメーターは、タイプ ライブラリのファイル名がアセンブリ名と異なる場合にのみ必要です。 |
解説
アセンブリが存在していなくても、このタスクは正常に終了します。 存在しないアセンブリの登録を解除しようとした場合、タスクは警告を発行して正常終了します。 これは、アセンブリ登録をレジストリから削除することが、このタスクのジョブであるためです。 アセンブリが存在しない場合、アセンブリはレジストリに登録されていないため、タスクは正常に終了します。
上記のパラメーター以外に、このタスクは AppDomainIsolatedTaskExtension クラスからパラメーターを継承します。このクラス自体は、MarshalByRefObject クラスから継承されます。 MarshalByRefObject
クラスは Task クラスと同じ機能を提供しますが、独自のアプリケーション ドメインでインスタンス化できます。
例
次の例では UnregisterAssembly
タスクを使用して、OutputPath
と 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>