Visual Studio中的构建解决方案、重新构建解决方案和清洁解决方案之间的区别是什么?
什么时候使用这些工具比较合适?
Visual Studio中的构建解决方案、重新构建解决方案和清洁解决方案之间的区别是什么?
什么时候使用这些工具比较合适?
当前回答
生成解决方案-生成已更改文件的任何程序集。如果程序集没有任何更改,则不会重新构建它。也不会删除任何中间文件。
最常用的。
重新构建解决方案——无论发生什么更改,都重新构建所有程序集,但保留中间文件。
当您注意到Visual Studio没有将您的更改合并到最新程序集中时使用。有时候Visual Studio也会犯错误。
清洁解决方案-删除所有中间文件。
当一切都失败,你需要清理一切,重新开始时使用。
其他回答
生成解决方案只生成解决方案中已更改的项目,而不影响未更改的程序集,
ReBuild首先清理解决方案中的所有程序集,然后构建整个解决方案,而不管所做的更改。
清洁,简单地清洗溶液。
我只是认为重建是先执行清理,然后再执行构建。也许我错了……评论?
**Build ,Rebuild, Clean Solution**
清洁解决方案 :删除所有编译过的文件(所有dll和exe)。
构建解决方案 :编译已更改的代码文件(dll和exe)。
重建方案 :删除所有编译过的文件,并重新编译它们,不管代码是否已经更改。
我认为人们忽略的一件重要事情是,构建和清理都是基于Visual Studio对项目/解决方案的了解来执行的任务。我看到很多人抱怨Clean不能工作,或者留下剩余的文件,或者不值得信赖,而事实上,你说它不值得信赖的原因实际上使它更值得信赖。
Clean只会删除Visual Studio或编译器自己实际创建的文件和/或目录。如果你复制自己的文件,或者从外部工具或源创建的文件/文件夹结构,那么Visual Studio不会“知道它们的存在”,因此不应该接触它们。
你能想象如果Clean操作基本上执行了“del *”。*”?这可能是灾难性的。
Build对更改的或必要的项目执行编译。
不管更改或需要什么,Rebuild都会执行编译。
Clean会删除过去创建的文件/文件夹,但会保留最初与之无关的任何内容。
我希望这能说明一点问题并有所帮助。
编译解决方案:编译已更改的代码文件(DLL和EXE)。
重建:删除所有编译过的文件,并重新编译它们,不管代码是否更改。
清洁解决方案:删除所有编译过的文件(DLL和EXE文件)。
你可以在YouTube上看到这个视频(Visual Studio Build vs. Rebuild vs. Clean (c#面试问题及答案)),我已经演示了其中的差异,下面是可视化表示,它将帮助你更详细地分析相同的内容。
重建和(清洁+构建)之间的区别,因为这似乎也有一些困惑:
不同之处在于每个项目的构建和清理序列发生的方式。假设您的解决方案有两个项目,“proj1”和“proj2”。如果你重新构建,它将使用“proj1”,清除(删除)“proj1”的编译文件并构建它。之后,它将获取第二个项目“proj2”,清理“proj2”的编译文件并编译“proj2”。
但是如果你做了“清理”和“构建”,它将首先删除“proj1”和“proj2”的所有编译文件,然后它将首先构建“proj1”,然后是“proj2”。