KB-用VS 2005 Build Web Site,總是慢到讓你想哭嗎?

這大概是所有由VS.NET 2003轉到VS 2005的ASP.NET Developer最重要的感想之一吧! 跟VS.NET 2003時代的ASP.NET Web Application Project相比,VS 2005的Web Site Project Build起來真像老牛拉車,只見CPU猛飆,HD狂轉,以前3-5秒搞定的事,現在沒有個10秒20秒東西出不來,對我這種且戰且走型的Programmer來說,真是痛苦的折磨。

前些日子,看到Scott Guthrie一篇文章,讓我眼睛一亮,直到剛才有機會試了一下。親愛的史考特,這真是太神奇了! 一個Refrence了四個dll的專案,Build時間足足縮短為1/3(12秒->4秒),大家看完以下的說明,快點試試吧!

Scott的文章裡提到了一件事,當你的ASP.NET專案參考DLL時,若DLL是來自於檔案(也就是用瀏覽功能去挑DLL檔案),VS 2005會很"貼心地"自動補上一個yourAssemblyDllName.dll.refresh的檔案,裡面只有一行文字,指向原始參考的檔案路徑,其用意是每次Build Web Project時,雖然BIN下已經有了該DLL檔,VS 2005還是會去原始來源檢查該檔案有沒有更新。若有,會將較新版的DLL檔以及其相依的DLL一併Copy回BIN下面。這樣子,被參考DLL只要一有更新,不勞你動手,VS 2005就會自動抓最新版的回來用。雖然Scott強調的是Dueling Assembly Reference Problem(導因於共用被參考檔的版本衝突),未必會發生在每個Project中,但那個.refresh的特性,倒讓我想試看看單純.refresh造成的效能衝擊。我找了一個專案,特意以選取檔案的方式參考了幾個DLL檔案,果不其然,.refresh出現了:

開啟專案後第一次Build Web Site耗時12秒,第二次約8秒。接著我將四個.refresh移除,咻~~~ 首次Build大約只花了4秒,之後更是不到2秒,效果驚人!! (剛才在另一台機器不同專案做的實測是25"->10",快了一倍以上!)

被VS 2005的慢郎中性格氣到吐血的朋友們,不妨試試,再留言分享一下實測的改善效果吧!

歡迎推文分享:
Published 16 November 2006 01:54 PM 由 Jeffrey
Filed under: ,
Views: 11,357



意見

# Anonymous said on 15 December, 2006 04:17 PM

還是不知道dll怎麼加進來

# Darkthread said on 15 December, 2006 04:41 PM

你是指在Web Site Project中要參考DLL嗎?
有三個地方可以加,在BIN目錄上按右鍵,在Project的那一列按右鍵,選單中有Add Reference選項;Project Property Page也可以Add Reference或Add Web Reference.

# Kim said on 01 April, 2008 07:24 PM

這篇讚喔感恩

# gary said on 09 January, 2009 12:17 AM

哇,真得快好多喔差了至少二、三倍的時間,真是太感謝了

# Gary said on 09 January, 2009 12:19 AM

真得快好多,謝謝您的告知,感恩

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<November 2006>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication