项目找到同一程序集的多个版本时遇到问题。例如System.Web.Mvc
:
我想确保我们的MVC项目永远不会在除NuGet源之外的任何地方找到这样过时的dll
。
我意识到从系统中删除冲突版本并不是一个好主意,因为许多应用程序可能依赖于它们。例如,在C:\Program Files (x86)
更新
由于我们使用NuGet,我改变了:
Project > Properties > Build > Output > Output path:
至C:\Temp\Drop
在每个项目中(我们还有一些便携式区域类项目)然后
Project > Properties > Reference Paths
并添加了C:\Temp\Drop
问题消失了。
这是正确的解决方法吗?还是我只是在蠕虫身上打开另一个罐头?
答案 0 :(得分:2)
检查以下与装配绑定和探测相关的文章,这非常好:
同时检查Article。
有一个完整的层次结构用于查找程序集,对于强命名的程序集,GAC将是第一个,在您的情况下,您使用强名称程序集。如本文所述,您应该能够在运行时将应用程序指向正确的程序集版本