次のインターフェイスを定義するアプリケーション内にアセンブリがあります。
public void Method1()
次に、このインターフェイスを実装するアセンブリ プラグインがあります。実行時に検出され、ロードされます。
後で、インターフェイスを変更して新しいメソッドを含めました。
public void Method1()
public void Method2()
そして、新しいバージョンのインターフェイスを実装する新しいアセンブリ プラグインを作成しました。
新しいインターフェースと新しいプラグインのみをアプリケーションにデプロイする方法はありますか? 現在、クライアントは最初のプラグインで Method2() を呼び出すことはないため、問題になることはありません (最初のプラグインで Method2 が呼び出された場合はいつでも例外をスローしても問題ありません)。
私はそれができると思っていましたが、私は言っていTypeLoadException
ます:
アセンブリ 'Provider2、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null' のタイプ 'Provider2.Class2' のメソッド 'Method2' には実装がありません。
(これは本当ですが、Method2 が呼び出されないので問題にはなりません)