亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Visual Studio中重建與清理+構建之間的區別

在Visual Studio中重建與清理+構建之間的區別

回首憶惘然 2019-11-07 10:22:18
在Visual Studio 2008中僅進行重建和執行“ 清理 + 生成”有什么區別?是清潔 + 構建不同然后做清潔 + 重建?
查看完整描述

3 回答

?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

重建=清理+構建(通常)

值得注意的細節:

  1. 對于多項目解決方案,“重建解決方案”對每個項目執行“清理”,然后執行“構建”(可能并行執行)。而“干凈解決方案”之后是“構建解決方案”,則首先清理所有項目(可能并行),然后清理所有項目(可能并行)。當項目間的依賴關系發揮作用時,事件排序的這種差異會變得很明顯。

  2. 這三個動作均對應于MSBuild目標。因此,項目可以覆蓋“重建”操作以執行完全不同的操作。


查看完整回答
反對 回復 2019-11-07
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

即99%的時間重建=清理+重建。

但是不能保證它們是相同的。這3個操作(重建,構建,清除)代表不同的MSBuild目標。每個項目文件都可以覆蓋其中的每個文件以執行自定義操作。因此,在啟動clean + build(或完全刪除它們)之前,某人完全有可能重寫rebuild來執行多個操作。

非常極端的情況,但由于評論討論而指出。


查看完整回答
反對 回復 2019-11-07
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

1每個項目,重建項目=(清理項目+生成項目)。

2個解決方案,重建Sln = foreach項目(Clean項目+ Build項目)!= Clean Sln + Build Sln

假設您有一個Sln,包含proj1,proj2和proj3。

重建Sln =(清潔proj1->構建Proj1)+(清潔proj2->構建Proj2)+(清潔proj3->構建Proj3)

清潔Sln +構建Sln =(清潔proj1 +清潔proj2 +清潔proj3)->(構建proj1 +構建proj2 +構建proj3)

->表示串行,+表示并發

因此,如果您未正確配置項目依賴項而提交了許多代碼更改,就有可能會導致Rebuild Sln導致某些項目鏈接到一個過時的lib,因為不能保證所有構建都經過全部清理。(在這種情況下,Clean Sln + Build Sln將給出鏈接錯誤,并立即通知您,而不是為您提供行為異常的應用程序)


查看完整回答
反對 回復 2019-11-07
  • 3 回答
  • 0 關注
  • 803 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號