2012-03-02 34 views
1

我有一个VS2010项目编译好我的电脑,但抱怨在另一台计算机上缺少参考。我检查了参考文献,并且有一个用于带有感叹号的“接口”,当文件丢失或有其他问题时正常。缺失的参考再次出现?

我点击一次,选择它,是要看看它的属性,看看有什么是错的,但随后的感叹号走了,该项目可被编译...

这是什么巫术

,我的问题是,这个项目将使用的MSBuild一个自动构建的一部分,它不能没有手动打开每个生成代理文件并点击“失踪”再次参考:)

回答

0

您可以比较解决方案和项目文件手动打开文件之前和之后?

我怀疑你有一些奇怪的事情发生,可能会引用特定版本和/或位置的引用,并且该引用与特定的构建代理不匹配。

E.G.它是对“任何CPU”构建的引用,并且构建代理只构建“x86”构建,或者引用是否说v2.1.3.1(并且有一个选项声明或以后可以接受),并且仅存在更高版本因此VS2010会自动更新对较新版本的引用。

我们在过去引用了一些问题,当dll不在不同的机器上的相同位置,因此必须将DLL添加到已知库子文件夹中的解决方案中,或手动更改路径提示子句在项目文件中。

开始比较之前和之后。检查解决方案,让它自行修复,然后做一个比较,看看有什么变化。

0
编译

检查参考的构建路径并检查构建操作。更改构建顺序也是一个选项。

被引用的实际构建操作的assemply部分?也许构建顺序不同步,或者是其中一个子项目的构建操作副本。

我看过这个错误,其中一个DLL被复制到一个输出目录,但只有当我编译另一个解决方案之前,因为它将DLL复制到正确的文件夹。