Visual Studio中的构建解决方案、重新构建解决方案和清洁解决方案之间的区别是什么?

什么时候使用这些工具比较合适?


当前回答

构建解决方案将构建解决方案中已更改的任何项目。重建构建所有项目,清洁解决方案删除所有临时文件,确保下一次构建完成。

其他回答

这只涉及“构建解决方案”选项。

我完全受够了Visual Studio无法真正清理解决方案,所以写了这个小工具来为你做这件事。

首先在VS中关闭你的解决方案,并将它的文件夹从Windows资源管理器拖到这个应用程序或它的图标中。根据窗口底部的设置,它还可以删除额外的东西,这将有助于你手动上传你的解决方案到GitHub或与他人共享:

简而言之,它会把所有的“调试”文件夹、智能感知和其他可以被VS重建的缓存放入回收站。

构建解决方案将构建解决方案中已更改的任何项目。重建构建所有项目,清洁解决方案删除所有临时文件,确保下一次构建完成。

**Build ,Rebuild, Clean Solution**

清洁解决方案 :删除所有编译过的文件(所有dll和exe)。

构建解决方案 :编译已更改的代码文件(dll和exe)。

重建方案 :删除所有编译过的文件,并重新编译它们,不管代码是否已经更改。

我有一个空白的解决方案BuildRebuildClean和三个类库模型,存储库,通知。

我在通知类库中使用模型和库。

然后:

生成解决方案增量生成,只编译已更改的文件。如果一个程序集没有变化, 它不会被重建。此外,它不会删除任何中间文件。 如果在模型库项目中修改一些代码,则BUILD解决方案。 在下面的屏幕截图中,参考DLL的时间戳,在Models和Notification库中更新了EXE。

重建解决方案删除所有编译文件和编译所有不考虑更改, 忽略之前做过的任何事情。 右键单击解决方案名称BuildRebuildClean。它所做的是删除所有的程序集, EXEs和引用文件再次编译。

清洁解决方案删除bin/obj目录下所有已编译的中间文件(即exe和dll)。

我所知道的是一个清洁不做什么“使清洁”用来做-如果我清洁一个解决方案,我希望它删除obj和bin文件/文件夹,这样它就像是一个新的签出源。根据我的经验,虽然我经常发现,清洁和构建或重建仍然会在已知编译的源代码上产生奇怪的错误,需要手动删除bin/obj文件夹,然后它就会构建。