这里有一个非常恼人的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 。完全糊涂了..