私は C# でクリップボード/画像アップロード ツールを作成しています。キーコンボでスクリーンショットを作成し、画像をプラグインに送信すると、プラグインが URL のアップロードと返信を処理します。
さて、これらのプラグインは設定を保存する必要があり、それらの設定はアプリケーション内で編集可能にする必要があるため、少し前に書いたデータ保存クラスを使用して、そのクラスの初期化されたインスタンスの参照をプラグイン。
アイデアは、そのクラス全体をインクルードに入れることでした。これは、プラグイン作成者がデータを処理するためにプロジェクトに含めることができますが、プラグインとメイン アプリケーションの両方がまったく同じコードを使用しているにもかかわらず、バージョンが異なるというエラーが発生します。 、つまりこれ:
{"[A]CedInc.Persistence.XMLPersistenceDictionary.savenode は [B]CedInc.Persistence.XMLPersistenceDictionary.savenode にキャストできません。タイプ A は、コンテキスト 'Default' at location 'C:\git\CloudBoard\CloudBoard\bin\Debug\CloudBoard.exe'. タイプ B は 'CloudBoard FTP upload plugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' に由来しますロケーション「C:\git\CloudBoard\CloudBoard\bin\Debug\plugins\CloudBoard FTP upload plugin.dll」のコンテキスト「LoadFrom」。"}
私の質問は次のとおりです。カスタム クラスのインスタンスを、プラグイン自体によって読み込まれるアセンブリに配置することなく、プラグインに渡すことは可能ですか? もしそうなら、どのように?どんなアイデア/提案も大歓迎です! 私はちょっとここで立ち往生しています。