Visual Studio(2008)“清洁解决方案”选项


Answers:


109

它将删除与解决方案关联的所有已编译和临时文件。它确保下一个版本是完整版本,而不是仅重新编译更改的文件。


3
那么“ Build”和“ Rebuild All”有什么区别?
乍得2010年

2
想象一个包含3个项目的解决方案。自上次构建以来,构建仅编译已更改的项目。重建,编译所有内容。
2011年

18
重建解决方案与运行清洁解决方案然后运行构建解决方案基本相同吗?
乔伊·格林

5
重建解决方案实际上是在构建之前进行清理吗,还是只是像先完成清理一样构建所有内容?
荷马2012年

2
@JoeyGreen否。如果您清理并生成解决方案,它将首先清理所有项目,然后生成所有项目。如果您进行重建,则此时仅需要一个项目并对其进行清理和构建。一次,我遇到了使用Rebuild而不是Clean&Build的怪异问题,因为某些项目依赖项
Relaxxx 2014年

61

它将删除先前编译/构建期间生成的所有目标代码。它将删除以下所有类型的文件:-

* .obj-目标代码

* .pdb-程序调试数据库文件

* .bsc-源浏览器数据库

* .ilk-增量链接器文件

* .sbr-源浏览器中间文件

* .idb-重建依赖文件

* .lib-库文件

* .exe-可执行文件

JFYI-即使使用“全部重建”命令也可以完成所有这些操作,然后继续构建完整的源文件集。

-广告


11

我希望这是一个评论,但显然需要50个代表。

为了警告其他人,我发现重建解决方案本身并不能解决问题。我通常不需要清理它并在运行后对其进行构建/重建-我认为重建它是自我强制的,无需清理就可以完全编译并覆盖所有内容,但是并不能消除多余的东西。

并没有研究重建在代码方面的明智之举,只是一般性的观察,以防别人遇到相同的问题。


2
我同意这一说法-多次看到这种行为,需要在重建之前进行清理
Swordblaster 2012年

5

这是旧文章,但我认为这值得一提。在为Silverlight编码时,通常会同时打开Blend和VS2010。因此,有时VS2010会出现异常现象,并且IntelliSense找不到东西在哪里,从而错误地突出了很多错误。

清洁溶液可以解决此问题。



2

清洁溶液时要小心;当您清理解决方案时,如果您引用了项目中的库(例如nhibernate),并且该库具有依赖项(例如iesi.collections),那么即使重建了sisi.collections,也会看到iesi.collections被删除。解决方案,则必须再次将该dll放入文件夹。或者您也可以引用iesi.collections并从其属性中选择copy-local:yes选项


5
这不应该是一个问题,如果你移动你所有的库到一个特定的文件夹以外的“宾”和/或使用的NuGet
bbqchickenrobot

确保不是,但通常位于bin文件夹中(您可以尝试通过nuget和iesi.collections获得fluentnhibernate)
ersanbilik 2012年

0

仅供参考,“清理”或“重建”都不会删除非构建文件,例如在预构建命令期间复制的文件。我对此感到困惑!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.