我有一个 VS2010 项目可以在我的计算机上正常编译,但抱怨在另一台计算机上缺少引用。我检查了引用,并且有一个“Interfaces”有一个感叹号,当文件丢失或有另一个问题时正常。
我点击它一次就选择了它,并打算查看它的属性以查看错误但是感叹号消失了,项目可以编译......
这是什么巫术?
对我来说问题是这个项目将成为使用msbuild的自动构建的一部分,如果不在每个构建代理上手动打开文件并单击“缺少”引用,就无法编译它:)
答案 0 :(得分:0)
检查Reference的构建路径并检查构建操作。更改构建顺序也是一种选择。
引用的assemble是实际构建操作的一部分吗?也许构建顺序不同步或者是其中一个子项目的构建操作的副本。
我已经看到这个错误,其中DLL被复制到输出目录,但只有在我将DLL复制到正确的文件夹之前编译了另一个解决方案。
答案 1 :(得分:0)
您可以在手动打开文件之前和之后比较解决方案和项目文件吗?
我怀疑你有一些奇怪的事情,引用可能引用特定的版本和/或位置,并且与特定的构建代理不匹配。
E.G。它是对“Any CPU”构建的引用,构建代理只构建“x86”构建,或者引用是否说v2.1.3.1(并且有一个选项说明或以后可以接受)并且仅存在更高版本所以VS2010会自动更新对更高版本的引用。
当dll不在不同机器上的同一位置并因此必须将dll添加到已知库子文件夹中的解决方案时,或者手动更改路径提示子句时,我们在过去遇到过引用问题项目文件。
开始比较之前和之后。检查解决方案,让它自行修复,然后进行差异以查看正在发生的变化。