当我从解决方案中的项目中引用特定的仅供内部使用的NuGet程序包时,我遇到一个不寻常的问题。我的解决方案包含许多项目,其中一部分是Web项目。解决方案中的所有项目都引用一个Common项目,当我从Common项目中添加对NuGet包(公司内部)的引用时,所有Web项目都提供以下组装冲突警告:
发现相同从属程序集的不同版本之间存在冲突。请在项目文件中将“ AutoGenerateBindingRedirects”属性设置为true。有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=294190。
根据上面警告中链接的文档,由于不会为Web项目自动生成绑定重定向,因此我的Web项目均使用web.config文件显式列出程序集绑定重定向。我用构建输出设置为Diagnostic来构建每个项目,以便我可以了解哪些程序集遇到冲突,对于每个Web项目,大约有57个冲突,包括系统程序集,例如:
我不确定是什么原因导致了此问题。我与NuGet软件包的发布者进行了核对,他们的.NET框架与我的解决方案相匹配。除网络项目外,我的其他项目似乎都没有受到影响。我尝试使用诸如dotPeek和fuslogvw之类的工具来确定程序集的位置/位置,而没有什么是罪魁祸首。我开始阅读GAC,但不明白为什么这会影响我的Web项目,但不会影响我的非Web项目。
任何想法或指示都将不胜感激。