使Visual Studio不关心DLL版本

时间:2010-08-06 21:20:30

标签: visual-studio visual-studio-2008 dll version

有没有办法让visual studio不关心dll版本?这是个坏主意吗?

我正在重置我的开发机器,我刚刚安装了最新版本的Pex和Moles(版本.92)。我的所有项目都是.91版本。

我们正处于发布阶段,现在不想升级。另外,我找不到安装版本.91。

当我尝试编译时,我收到一条消息,说我错过了引用。 (因此这个问题)

2 个答案:

答案 0 :(得分:4)

版本很重要。根据定义,每个发布的版本与下一个版本之间存在差异(或者不需要新版本)。如果您期望一个版本而不是另一个版本,则您的程序可能无法正常执行。

这是.NET前期所谓的“DLL Hell”的一部分...如果您需要使用第三方组件(Crystal Reports Viewer是我们必须处理的那个) ),您只需使用对用户PC上安装的任何版本的引用。我们的零售店必须有一个特定版本的Crystal Reports才能正确打印他们的书籍报告,因此,我们必须永远保留旧版本。在PC上升级Crystal打破了供应商的书本应用程序。在我的第一台PC上,当我安装或升级另一台应用程序时,我有几个应用程序中断。特别是,Real Player打破了我的电话答录机软件。高飞这样的东西......

所以,版本很重要,即使它是一个烦恼。这也是为什么我对第三方工具有偏见,我没有代码,也无法重新编译。

答案 1 :(得分:3)

如果查看引用的DLL的属性,您将看到属性“特定版本”。如果将其设置为false,则不会跟踪项目文件中的特定版本。

为此,您必须以某种方式修复引用它们的使用位置。您可以通过打开每个解决方案并修复引用来实现此目的(此时您还可以更新对正确版本的引用,注意David的注释)。

如果你有很多解决方案,你可以使用像sed这样的工具(参见这篇文章的windows版本的工具,如Is there any sed like utility for cmd.exe),只需一次更新项目文件。