我有一个引用另一个项目的dll的项目。他们都在.net framework 2.0中。
所以升级到3.5,但是当我去参考第二个项目(引用第一个项目的那个)时,它仍然在属性运行时版本2.0上说,即使我删除了引用并重新读取。
在部署到版本为2.0的服务器之前,如何确定引用的dll是否为已升级版?
我不想删除服务器和部署中的所有文件,升级后我需要检查配置文件是否引用相同的dll并部署已发布的文件,还是需要全部替换?
< / LI> 醇>答案 0 :(得分:3)
.Net 3.5和.Net 2都在CLR的第2版上运行,因此“旧”和“升级”程序集的运行时版本不会改变。
至于找出它是否已“升级”,我建议使用ILDASM查看引用了哪个版本的mscorlib。
然而,this SO question的答案提供了一些替代方案。
答案 1 :(得分:1)
您可以通过在Reflector(或其他反编译器)中打开它来轻松检查组件的构建版本。
答案 2 :(得分:1)
.NET 3.0和.NET 3.5的CLR与.NET 2.0中的CLR相同。
因此,检查程序集的最新方法是使用程序集版本。在构建程序集时,请在AssemblyInfo.cs中维护程序集版本和构建版本。
拥有强大的命名程序集是检查的最佳方式。