在Visual Studio中查找错误/警告

时间:2020-03-05 18:59:04  来源:igfitidea点击:

我在Visual Studio 2005中遇到了一个令人烦恼的问题...有时在我进行重建时,即使我执行了"重建解决方案",它也不会出现任何错误或者警告,但是当我以后编辑另一个代码文件时,即使没有更改也不会出现错误或者警告并重建,它将在该其他文件中发现错误或者警告。显然,较早的"重建解决方案"并没有重新编译该文件!如何强制VS完全重新编译每个文件?

解决方案

回答

这与配置管理器有关吗?我们可以在此处选择解决方案中要构建的项目。不确定是否有帮助。

回答

这可能有助于在重建之前清理解决方案-右键单击解决方案资源管理器中的解决方案,然后选择"清理解决方案"-这将删除临时文件,并应清除bin和obj文件夹,因此将所有内容重建。

回答

根据警告的类型,如果我没记错的话是不可能的。

例如,打开文件时仅显示符合XHTML的警告消息。我们可以检查VS内部的公差设置,以查看是否可以更改它。

回答

我在这里与Guy Starbuck在一起,但要补充一点,"重建解决方案"应该先做一个"清洁解决方案",然后再执行"构建解决方案",然后,它应该首先解决问题。但是VS 2005在这方面可能会很糟糕。有时它只是在几次重建后才开始工作。如果无法升级到2008,请考虑手动清除bin文件夹。

回答

这听起来很奇怪,无论是否进行更改,Rebuild都应构建所有内容,而Build应该仅构建已更改的内容。

仅当我们修改了未更改的文件所引用的内容,从而使它现在不正确时,才会发生我们描述的行为。

回答

在解决方案中有多个项目并且引用混杂在一起之前,我已经看到过这种情况。

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

我们希望将Common作为其他三个项目的"项目参考",然后他们将从Common的生成输出目录中获取其副本。

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

另一种情况是引用二进制文件,例如从" lib"目录。然后,其中一个项目最终引用了构建输出位置而不是lib。

我不知道是什么原因造成的,但不幸的是,我一直都在看到它。

解决方法是遍历每个项目的引用并找到指向错误位置的一个(或者多个)引用。