コンパイル時に静的に参照されるアセンブリを、実行時に使用する別のアセンブリと交換できるのは、どのような条件下ですか? 例えば:
アプリの組み立て:
- 参照共通アセンブリ
ServiceProviderFactory
サービス アセンブリの参照
共通アセンブリ:
- 定義する
IServiceProvider
サービス アセンブリ:
- ( s の
ServiceProviderFactory
ファクトリ) を提供します。IServiceProvider
- 参照共通アセンブリ
上記を考慮して、インストール時にサービス アセンブリを交換できるようにしたいと考えていますが、新しいサービス アセンブリがどのような条件下で引き続き読み込まれるかはわかりません。
私は、次のことが成り立たなければならないと考えています。
- 同じアセンブリ名、
- 弱い名前のアセンブリ、または厳密な名前のアセンブリ内の同じバージョン番号、および
ServiceProviderFactory
署名は一定のままです。
注:リフレクションを使用してサービスアセンブリを検索して、固定された署名が存在IServiceProvider
するものに依存するよりも実装を検索する方が良いようServiceProviderFactory
ですが、上記に対する回答にはまだ興味があります。