我们遇到了一个问题,无法让Visual Studio从我们项目中的一个DLL文件夹中获取最新版本的DLL。
我们有多个类库项目(例如BusinessLogic、ReportData)和一些Web服务,每个项目都引用了我们编写的Connectivity DLL(这个引用是问题所在)。
我们总是将引用指向bin/debug文件夹中的DLL(对于任何给定的项目,我们总是构建到此处),所有自定义DLL引用都具有CopyLocal=True和SpecificVersion=False。
ReportData引用了business logic(它也引用了connectivity——我不知道为什么会出现问题,但认为值得一提)。
奇怪的是,当你点击“添加引用”并浏览到Connectivity/bin/debug文件夹时,当你将鼠标悬停在DLL文件上时,正确的(最新的)版本就会显示出来(版本和文件版本始终一起递增),但当你点击“确定”时,会引入一个旧版本号。即使我查看当前项目的debug文件夹(复制本地在编译后会将DLL放置在此处),它也显示最新版本号。没有任何地方可以找到旧版本的DLL文件,但在该项目引用中,它拥有旧版本 - 即使路径是正确的。
我不知道它可能从哪里获取旧版本,甚至也不知道为什么要使用旧版本。
这可能是我遇到的最令人沮丧的问题。
有谁知道如何确保获取最新版本(最好是自动或在编译时)?
编辑:
虽然不完全是我所处理的情况,但我正在阅读此文章,在其中某处提到CLR会忽略修订号。可以理解(即使以前没有出现过这个问题——我们在第39次修订),所以我想我会更新构建号,但仍然无法解决问题。最后我试图更新小版本号,看看是否有任何区别。
我并不是说这就是解决方案,因为我还需要先检查很多东西,但表面上看起来,这似乎已经解决了我的问题...
进一步编辑: 在其他类库中,这似乎已经解决了问题,然而在一个测试窗口应用程序中,它仍然会拉取以前的版本 :(
如果我再次增加小版本号,同样的问题会再次出现,我将得到错误的版本。
进一步编辑——我创建了一个全新的项目,添加了一个引用,但仍然遇到了完全相同的问题。这表明问题局限于我正在引用的项目中。但愿我知道原因!
有人之前遇到过这个问题并知道如何解决吗?
求助!