Visual Studio中的构建解决方案、重新构建解决方案和清洁解决方案之间的区别是什么?
什么时候使用这些工具比较合适?
Visual Studio中的构建解决方案、重新构建解决方案和清洁解决方案之间的区别是什么?
什么时候使用这些工具比较合适?
当前回答
构建解决方案将构建解决方案中已更改的任何项目。重建构建所有项目,清洁解决方案删除所有临时文件,确保下一次构建完成。
其他回答
编译解决方案:编译已更改的代码文件(DLL和EXE)。
重建:删除所有编译过的文件,并重新编译它们,不管代码是否更改。
清洁解决方案:删除所有编译过的文件(DLL和EXE文件)。
你可以在YouTube上看到这个视频(Visual Studio Build vs. Rebuild vs. Clean (c#面试问题及答案)),我已经演示了其中的差异,下面是可视化表示,它将帮助你更详细地分析相同的内容。
重建和(清洁+构建)之间的区别,因为这似乎也有一些困惑:
不同之处在于每个项目的构建和清理序列发生的方式。假设您的解决方案有两个项目,“proj1”和“proj2”。如果你重新构建,它将使用“proj1”,清除(删除)“proj1”的编译文件并构建它。之后,它将获取第二个项目“proj2”,清理“proj2”的编译文件并编译“proj2”。
但是如果你做了“清理”和“构建”,它将首先删除“proj1”和“proj2”的所有编译文件,然后它将首先构建“proj1”,然后是“proj2”。
摘自此链接:
构建意味着只编译和链接已更改的源文件 从上次构建开始,而重新构建 意味着编译和链接所有源代码 文件,不管它们是否 改变与否。构建是常态 要做的事情,而且更快。有时 项目目标的版本 组件可能会不同步 重建是进行构建所必需的 成功的。在实践中,你永远不会 需要清洁。
构建解决方案将构建解决方案中已更改的任何项目。重建构建所有项目,清洁解决方案删除所有临时文件,确保下一次构建完成。
我认为人们忽略的一件重要事情是,构建和清理都是基于Visual Studio对项目/解决方案的了解来执行的任务。我看到很多人抱怨Clean不能工作,或者留下剩余的文件,或者不值得信赖,而事实上,你说它不值得信赖的原因实际上使它更值得信赖。
Clean只会删除Visual Studio或编译器自己实际创建的文件和/或目录。如果你复制自己的文件,或者从外部工具或源创建的文件/文件夹结构,那么Visual Studio不会“知道它们的存在”,因此不应该接触它们。
你能想象如果Clean操作基本上执行了“del *”。*”?这可能是灾难性的。
Build对更改的或必要的项目执行编译。
不管更改或需要什么,Rebuild都会执行编译。
Clean会删除过去创建的文件/文件夹,但会保留最初与之无关的任何内容。
我希望这能说明一点问题并有所帮助。
这只涉及“构建解决方案”选项。
我完全受够了Visual Studio无法真正清理解决方案,所以写了这个小工具来为你做这件事。
首先在VS中关闭你的解决方案,并将它的文件夹从Windows资源管理器拖到这个应用程序或它的图标中。根据窗口底部的设置,它还可以删除额外的东西,这将有助于你手动上传你的解决方案到GitHub或与他人共享:
简而言之,它会把所有的“调试”文件夹、智能感知和其他可以被VS重建的缓存放入回收站。