0

私はEntityFramework 5.0.0.0に依存するVisual Studio拡張を作成しています。私はプロジェクトにEntityFrameworkを含めました。拡張機能をインストールすると、拡張機能のDLLがVS拡張機能フォルダに表示され、EntityFramework.dllも表示されます。私は、Visual Studio 2013(更新5)で私の拡張を実行するとVisual Studio 2013拡張内でEntityFramework.dll 5.0.0.0を読み込めません。

しかし、それはEntityFrameworkをロードすることはできません。System.IO.FileNotFoundException: Could not load file or assembly 'EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.

は、プロセスモニタで見ると、私は私が私の拡張を実行すると、VS2013をロードしようとしたことを見ました別のバージョンのEntityFramework - 異なるバージョンのEntityFramework - 4.2。私は、VS2013がEntityFrameworkを検索し続けて、拡張機能のフォルダにあるように見えます。これは拡張機能に含まれている他のDLLと同じですが、そうではありません。

VS2015では、VSはEntityFramework 5.0.0.0の読み込みを管理しますが、VSは別の異なるパスからの読み込みも行います。

なぜVS2013は拡張機能のフォルダ内のEntityFrameworkを検索しませんか?

答えて

0

余分なアセンブリをロードするように指定するには、ProvideCodeBase属性を指定する必要があります。 "時には"あなたは幸運になり、何かを見つけますが、それは決して働くことが保証されていません。あなたはそれが使用されているいくつかの例を見ることができますhere

関連する問題