typeofの代わりにComSourceInterfacesの文字列パラメータを使用しようとすると、アセンブリをCOMオブジェクトとして登録できません。私は複数のインターフェイスを実装しています。なぜなら、SDKが必要とするインターフェイスなのでです。typeofの代わりにComSourceInterfacesの文字列パラメータを使用しようとすると、COMオブジェクトとしてアセンブリを登録できません。
私は
[ComVisible(true),
ClassInterface(ClassInterfaceType.None),
ComSourceInterfaces("IAccessControl"),
Guid("738CFFEF-37DC-4C61-957E-C5A78FE20223")]
public class EventGeneratorV2 : IAccessControl
を使用すると、私はエラーに
エラーMSB3217取得:アセンブリを登録することはできません "... \イベントジェネレータv2.dllを"。タイプ 'IAccessControl'をアセンブリからロードできませんでした。イベント ジェネレータv2、バージョン= 1.1.0.0、カルチャ=ニュートラル、 PublicKeyToken = bffdb712704a75b7 '
しかし、私はそれが正常に動作しない
[ComVisible(true),
ClassInterface(ClassInterfaceType.None),
ComSourceInterfaces(typeof(IAccessControl)),
Guid("738CFFEF-37DC-4C61-957E-C5A78FE20223")]
public class EventGeneratorV2 : IAccessControl
を使用するように私のコードを変更した場合。また、IAccessControlインターフェイスの完全修飾名Lib.Interfaces.IAcccessControlを文字列として試しましたが、それでも失敗します。最高の解決策は、複数のComSourceInterfacesを使用することですが、これは一度しか使用できず、typeofを使用して最大4つのインターフェイスを使用します。私はそれがこの他のソフトウェアと互換性があるために実装する必要がある9つのインターフェイスがあります。文字列を動作させる方法はありますか?