输出目录中的DLL版本错误

时间:2015-01-08 13:07:13

标签: visual-studio asp.net-web-api odata

这里有一个非常恼人的DLL问题:

错误

Could not load file or assembly 'Microsoft.Data.Edm, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

我的设置

Solution Root
- Common
    - Lib1
    - Lib2
    - etc..
- Plugins
    - PluginA
    - PluginB
    - etc..
- MainProject

注意:

  • PluginA PluginB 都引用 Lib1 Lib2

  • Lib1 Lib2 PluginB 参考 Microsoft.Data.Edm 版本5.6.3 < / p>

  • PluginA 根本没有引用任何版本的 Microsoft.Data.Edm ,因为我不需要像我那样需要Web API其他项目

  • 插件&#39;输出目录设置为~/Plugins/<PluginName>/

  • ~/Plugins/PluginA/包含 Microsoft.Data.Edm.dll 的副本。这是预期的,因为 Lib1 Lib2 引用该程序集并将其与 Lib1.dll 一起复制到输出目录Lib2.dll 即可。不期望的是版本是5.6.0而不是5.6.3 ... 这是造成错误的原因......

我不知道该版本的来源。这让我疯狂了好几天了。这怎么可能呢?我做的事真的很蠢吗?我到处搜索5.6.0版,但找不到。引用 Microsoft.Data.Edm 的所有项目都有5.6.3 ......但是某个5.6.0的副本找到了 PluginA 的输出目录。 PluginB 显然不受影响,因为它直接引用 Microsoft.Data.Edm 。完全糊涂了..

0 个答案:

没有答案