Mr *_*ubs 19 .net dll assemblies reference visual-studio-2008
我们在让visual studio从我们的一个项目中获取最新版本的DLL时遇到了问题.
我们有多个类库项目(例如BusinessLogic,ReportData)和许多Web服务,每个都有一个我们编写的连接DLL的引用(这是对连接DLL的引用问题).
我们总是在bin/debug文件夹中指向DLL的引用(这是我们总是为任何给定项目构建的),所有自定义DLL引用都有CopyLocal = True和SpecificVersion = False
ReportData有一个对业务逻辑的引用(它也引用了连接 - 我不明白为什么这会导致问题,但是认为值得一提)
奇怪的是,当您单击"添加引用"并浏览到连接/ bin/debug时 - 将鼠标悬停在DLL文件上,将显示正确的(最新)版本(版本和文件版本总是一起递增),但是单击"确定"时,会拉出先前的版本号.即使我查看当前项目调试文件夹(其中copy local将在编译后放置DLL)显示最新版本号. - NO我在哪里可以找到Visual Studio之外的以前版本的DLL,但在该项目中引用它具有旧版本 - 即使路径是正确的.
我不知道它可能从哪个版本获得旧版本.甚至为什么它想要那个.
这可能是我遇到的最令人沮丧的问题.
有谁知道如何确保最新版本被拉过(最好是自动或编译).
编辑:
虽然不完全是我正在处理的场景,但我正在阅读这篇文章,并在某处提到CLR忽略修订号.可以理解(尽管之前这不是问题 - 我们正在修订版本39),所以我想我会更新内部版本号,仍然无法正常工作.虽然我会更新次要版本号并查看是否有任何区别,但徒劳无功.
我不是说这是答案,因为我必须首先检查一些事情,但从表面上看,这似乎解决了我的问题......
进一步编辑:在其他类库中,这似乎已经解决了问题,但是在测试Windows应用程序中,它仍然通过以下版本提取:(
如果我再次增加次要版本号,同样的问题又回来了,我留下了错误的版本.
进一步编辑 - 我创建了一个新的项目,添加了一个参考,但仍然有完全相同的问题.这表明问题仅限于我引用的项目.希望我知道为什么!
以前有人遇到过这个问题,知道如何解决这个问题吗?
救命!
Dar*_*rov 37
为了避免dll地狱,我建议你lib在项目中创建一个文件夹,并将所有共享程序集放在这个文件夹中.接下来,仅从此文件夹添加引用.通过这种方式,您的项目是自包含的,并且您确切地知道从中挑选引用的位置.如果要使用较新版本更新某个程序集,请将其复制到该lib文件夹并重建项目.
还要确保您没有将引用的程序集放入GAC中,因为它们可能首先被选中.
您可以尝试几种选择.
为了解决这个问题,我删除了每个引用,然后再将它们全部添加回来.我不知道为什么这是解决方案.
在一个项目中,DLL可能是不正确的,并且这是由visual studio提取并使用的不正确的DLL.
编辑:其他时候发生此错误是由于当前项目中引用的DDL(A)也被另一个DLL(B)引用.不重建这个其他DLL(B)似乎阻止VS在当前项目中引用正确版本的DLL(A),因此它带来了旧版本的DLL(A).
| 归档时间: | 
 | 
| 查看次数: | 47168 次 | 
| 最近记录: |