2008-09-17 129 views
0

我遇到了Visual Studio 2005中令人讨厌的问题......有时在重新构建时,即使我重新构建解决方案,它也会返回没有错误或警告,但是当我稍后编辑另一个代码文件,即使不更改它,然后重新编译,它会在其他文件中找到错误或警告。显然,早先的重建解决方案没有重新编译该文件!我如何强制VS完全重新编译每个文件?在Visual Studio中查找错误/警告

回答

0

这与配置管理器有关吗?您可以选择解决方案中的哪些项目。不知道这是否有帮助。

1

这可能有助于清除之前重建解决方案 - 右键单击​​在Solution Explorer解决方案,然后选择“清洁解决方案” - 这将删除临时文件,应该清除出bin和OBJ文件夹,因此一切都被重建。

0

根据警告的类型,如果我正确记得,这是不可能的。

例如,仅当文件打开时才显示符合XHTML标准的警告消息。你可以检查VS内的公差设置,看看你是否可以改变它。

1

我与Guy Starbuck在这里,但会补充说,重建解决方案应该做一个清洁的解决方案,然后构建解决方案,然后,它应该已经解决了你的问题开始。但VS 2005在这方面可能会很糟糕。有时它在几次重建之后才开始工作。如果不能升级到2008年,请考虑手动清除bin文件夹。

0

这听起来很奇怪 - 重建应该构建一切,无论变化如何,构建应该只构建已经改变的东西。

您所描述的行为只应在修改未更改文件引用的内容时才会发生,因此它现在不正确。

2

当你在解决方案中有多个项目并且引用混淆时,我已经看到过这种情况。

假设您的解决方案有Common,Business,Data和UI四个项目。假设Common是其他三个项目引用的。

我们想要的是常见的是“项目引用”和其他三个项目 - 然后他们会从普通的构建输出目录拿起自己的副本。

但是,有时候,其中一个项目会把它的参考混淆起来。假设在这种情况下,该UI开始引用Data的构建输出目录中的Common副本。现在,编译“UI”而没有编译“数据”的任何更改都会导致两个可能不兼容的“Common”版本成为UI的依赖项。

另一种情况是,其中所述基准是为二进制,如从一个“lib”目录。然后,其中一个项目最终引用了构建输出位置而不是lib。

我不知道是什么原因造成这一点 - 但我看到这一切的时候,很遗憾。

修复程序是要通过每个项目的参考,并找到指向错误的地方的一个(或多个)。