什么只是一个之间的差别重建并做了清洁 + 在Visual Studio 2008中构建?是Clean + Build不同然后做Clean + 重建?差异重建和在Visual Studio清洁+构建
回答
重建=清洁+构建
值得注意的细节:
对于多项目解决方案,“重建解决方案”做一个“干净”的后面是“建”为每个项目(可能在平行下)。鉴于“清洁解决方案”后跟“构建解决方案”首先清理所有项目(可能并行),然后构建所有项目(可能并行)。当项目间依赖关系发挥作用时,事件排序的这种差异可能变得显着。
所有这三个操作都对应于MSBuild目标。所以一个项目可以重写重建动作来完成一些完全不同的事情。
所以你说* Rebuild * **完全**与* Clean *相同,然后是* Build *?这是我的想法,但我不确定。 – 2009-08-07 23:50:39
除重建清理和逐个重建每个项目外。清洁+构建清理所有这些,然后构建所有这些。大多数情况下,如果你点击它,会造成差异:) – Eugene 2009-08-08 03:35:07
除了没有保证它们是相同的。请参阅下面的JaredPar的答案,与Earl的结合是整个画面。 因为Rebuild轮流执行每个项目,所以当依赖信息混乱并且使用旧项目A得到B的无序生成项目时,可以有一个“角落案例”,然后重建A,然后重建C.等。 。完整的解决方案Clean和完整的解决方案构建将在重建时不会出现这种情况。所以你越是偏执和厌倦,你越应该倾向于Clean Clean Build。 – 2010-01-12 17:44:27
厄尔是正确的99%的时间重建=清洁+生成。
但他们不保证是相同的。 3个动作(重建,构建,清理)表示不同的MSBuild目标。每个项目文件都可以被任何项目文件覆盖以执行自定义操作。因此,在启动一个clean + build(或者完全删除它)之前,完全可以让某人覆盖重建以执行多个操作。
非常多的角落案件,但由于评论讨论指出。
如果添加将生成的.dll文件移动到新位置的构建操作,则只需执行重建即可生成“错误”生成结果。 如果你将vb.net和c#项目混合在一起,事情会变得更糟糕,破坏设计师并且无法实现。 – CodingBarfield 2010-08-24 07:11:00
+1还请注意,重建行为在各种语言方面对于依赖关系似乎并不一致:http://stackoverflow.com/questions/12163080/vs2010-lnk1181-when-rebuilding-project-with-dependency – lesscode 2012-08-28 19:02:52
从http://www.cs.tufts.edu/r/graphics/resources/vs_getting_started/vs_getting_started.htm,(只是GOOGLE了它):
构建意味着编译和链接只有自上次编译后更改过的源文件,而重建手段编译也不管链接他们是否改变了所有的源文件或不。构建是正常的事情,速度更快。有时,项目目标组件的版本可能会不同步,重建对于构建成功是必要的。在实践中,你永远不需要清洁。
构建或重建解决方案构建或重建解决方案中的所有项目,而构建或重建将在上面的屏幕截图中构建或重建StartUp项目“hello”。要设置启动项目,请右键单击解决方案资源管理器选项卡中所需的项目名称,然后选择设为启动项目。项目名称现在以粗体显示。由于作业解决方案通常只有一个项目,所以Build或Rebuild Solution实际上与Build或Rebuild相同。
编译只编译当前正在编辑的源文件。当其他源文件处于不完整状态时可以快速检查错误,从而防止整个项目的成功构建。 Ctrl-F7是Compile的快捷键。
1每个项目,重建项目=(清理项目+生成项目)。
2 Per Solution,Rebuild Sln = foreach project(Clean project + Build project)!= Clean Sln + Build Sln
假设你有一个Sln,它包含proj1,proj2和proj3。
重建SLN =(清洁proj1 - >构建Proj1)+(清洁proj2 - >构建Proj2)+(清洁proj3 - >构建Proj3)
清洁SLN +构建SLN =(清洁proj1 +清洁proj2 +清洁proj3) - >(编译proj1 +构建proj2 +构建proj3)
- >表示串口,+意味着并发
所以当你提交了大量的代码更改的机会,而你没有配置做正确的项目依赖关系,重建Sln会导致你的一些proj链接到一个陈旧的lib,因为所有的构建都不能保证在全部清除之后(在这种情况下,Cl EAN SLN +构建SLN会给出一个链接错误,并让你知道,马上的,而不是给你用奇怪的行为的应用程序)
This one是最准确的答案,因为它解释了为什么有时我无法重建,但能够清理+构建。 – 2012-06-27 01:23:12
从this blog post,作者链接为a comment on this question:
其实也没什么! !他们不平等。
不同之处在于顺序项目变得干净和构建。假设 表示我们在解决方案中有两个项目。清理然后编译将 执行清理这两个项目,然后构建将单独发生 而重建项目A将得到并清理,然后构建 项目B将清理,然后构建等。
- 1. Visual Studio构建,清理和重建
- 2. Visual Studio“清洁和重建”在一个按钮?
- 3. Visual Studio的差异,当在Visual Studio和构建服务器上运行测试
- 4. Visual Studio 2015 Build重建清洁不工作
- 5. Visual Studio构建步骤和MSBuild之间的差异构建步骤
- 6. 构建和清洁/ Eclipse的脚本
- 7. Visual Studio构建配置 - 防止重建
- 8. 差异在Visual Studio
- 9. 在没有清洁的Maven中构建
- 10. 差异:在Visual Studio和sql sever中创建sql数据库2008
- 11. Android Studio在每次运行后需要清洁/构建
- 12. 的Visual Studio - 构建
- 13. 在构建时的Visual Studio
- 14. Visual Studio中的“构建”和“重建”有什么区别?
- 15. CMake Visual Studio差异?
- 16. Neo4j的清洁构建失败
- 17. 构建前/构建事件Visual Studio
- 18. 在visual studio中重建app.config?
- 19. Visual Studio:自动参考清洁?
- 20. Visual Studio 2005清洁解决方案
- 21. 解决方案不能在Visual Studio中运行/构建/重建
- 22. Visual Studio 2008后期构建事件 - 仅在重建时运行
- 23. Visual Studio - 重建失败(链接),清理和生成工作
- 24. 构建(ipa)大小差异
- 25. Visual Studio 2013构建和发布
- 26. 使用Visual Studio 2010构建cURL和libcurl
- 27. visual studio 2008构建优化
- 28. 用Visual Studio构建错误
- 29. visual studio 2008 - 构建问题
- 30. 使用Visual Studio构建dll
[这里是一个不错的职位,详情](http://conceptf1.blogspot.com/2013/11/visual-studio-clean-build-and-rebuild-solution.html) – 2013-11-21 08:36:01