私はplugin P
と私がコントロールできないapplication A
(.NET40)を持っています。
Pアセンブリ(.NET40)にはshared dependency D
(.NET35)があります。プラグインのシナリオでアセンブリバインディングのリダイレクトを達成するにはどうすればいいですか?
PおよびDの両方はFSharp.Coreに依存して、異なるバージョン:
P
がFSharp.Core, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
D
に対してコンパイルされているがのみFSharp.Core、バージョン= 4.4.0.0が配備さFSharp.Core, Version=2.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
に対してコンパイルされていますAppDomain.AssemblyResolveを購読して、デプロイされたアセンブリを読み込みます。
両方のFSharp.CoreバージョンがGACにインストールされている私のマシンでテストしていますが、両方ともプラグインがロードされてしまいます。
バインドリダイレクトはここでの解決方法ですが、app.configにアクセスすることなくどのように行うことができますか?
「共有依存関係」とは何ですか?どこにDが見つかりますか? – Funk
私はDが私の他のプロジェクトによって参照される別のプロジェクト(コードベースの一部)であることを意味しました。 Dターゲット.NET40を使用し、同じFSharp.Coreバージョンを参照すると、バージョンの競合が防止されます。しかし、少なくとも別のプロジェクトでは、.NET35を対象とするDが必要です。 – 0li