C#Web项目-发现同一从属程序集的不同版本之间存在冲突

时间:2018-09-17 04:39:24

标签: c# nuget

当我从解决方案中的项目中引用特定的仅供内部使用的NuGet程序包时,我遇到一个不寻常的问题。我的解决方案包含许多项目,其中一部分是Web项目。解决方案中的所有项目都引用一个Common项目,当我从Common项目中添加对NuGet包(公司内部)的引用时,所有Web项目都提供以下组装冲突警告:

  

发现相同从属程序集的不同版本之间存在冲突。请在项目文件中将“ AutoGenerateBindingRedirects”属性设置为true。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=294190

根据上面警告中链接的文档,由于不会为Web项目自动生成绑定重定向,因此我的Web项目均使用web.config文件显式列出程序集绑定重定向。我用构建输出设置为Diagnostic来构建每个项目,以便我可以了解哪些程序集遇到冲突,对于每个Web项目,大约有57个冲突,包括系统程序集,例如:

  • 系统
  • System.Net
  • System.Core
  • System.Xml.Linq
  • mscorlib
  • System.IO
  • System.Net.Http
  • System.Collections
  • System.Reflection
  • System.Runtime

我不确定是什么原因导致了此问题。我与NuGet软件包的发布者进行了核对,他们的.NET框架与我的解决方案相匹配。除网络项目外,我的其他项目似乎都没有受到影响。我尝试使用诸如dotPeek和fuslogvw之类的工具来确定程序集的位置/位置,而没有什么是罪魁祸首。我开始阅读GAC,但不明白为什么这会影响我的Web项目,但不会影响我的非Web项目。

任何想法或指示都将不胜感激。

0 个答案:

没有答案