【发布时间】:2014-10-10 06:45:12
【问题描述】:
我在一个项目中发现同一程序集的多个版本时遇到问题。 System.Web.Mvc 例如:
我想确保我们的 MVC 项目永远不会从任何地方找到这样一个过时的dll,除了 NuGet 源。
我意识到从系统中删除冲突版本并不是一个好主意,因为很多应用程序可能都依赖于它们。比如这个发现在C:\Program Files (x86)
更新:
由于我们使用的是 NuGet,所以我更改了:
Project > Properties > Build > Output > Output path: 到 C:\Temp\Drop
在每个项目中(我们也有一些可移植区域类库项目)然后
Project > Properties > Reference Paths 并添加了C:\Temp\Drop
问题就解决了。
这是正确的处理方式还是我只是在这里打开另一个关于蠕虫的罐子?
【问题讨论】:
-
你有 resharper 或其他类似的插件吗?
-
GAC 在运行时使用 - Visual Studio 在设计/编译时不使用它。但是,您得到的是对版本 4.0.0.0 的引用,它不是来自 GAC。
-
是的,我注意到了,它正在寻找不同的位置。某处 C:\Program Files (x86)
-
我刚刚编辑并重新确定了问题的范围,因为这首先与 GAC 无关。
-
如果它不是 GAC,那么您的修复将起作用,它类似于 Windows 中二进制探测的系统路径,但是您需要确保所有已部署系统上的路径相同/相似
标签: c# asp.net-mvc visual-studio assembly-reference-path