.NET アセンブリを COM サーバーとして使用できるようにするには、一連の属性を追加してから、regasm
それを COM サーバーとして登録する必要があります。
キーをregasm
使用して実行したときにアセンブリが厳密な名前で署名されていない場合、アセンブリが同じコンピューター上の他のアセンブリに干渉する可能性があるため、厳密な名前で署名する必要があるという警告が表示されますが、登録は成功し、正常に動作します。/codebase
RA0000
私の知る限り、厳密な名前は、いわゆる DLL 地獄を防ぐことを目的としています。しかし、COM は DLL 地獄を防ぐことも目的としていました。COM に公開されているインターフェイスを変更する場合は、GUID を変更するか、少なくともバイナリ互換性を維持する必要があります。そのため、厳密な名前で署名しても、何の役にも立たないようです。COM インターフェイスを壊してから、同じキーペアで署名して、本格的な DLL 地獄を持つことを妨げるものは何もありません。
COM に公開された .NET アセンブリの場合、厳密な名前で署名することの用途は何ですか?