【茶包射手日記】VS2008網站部署專案bin\aspnet_merge.exe錯誤

同事在使用VS2008 Web Deployment Project時編譯部署時出現以下錯誤:

MSB6004: The specified task executable location "bin\aspnet_merge.exe" is invalid.

有趣的是,同樣的Deployment Project在另一位新同事的機器上執行正常。比較二台機器環境,新同事的機器只裝了VS2008的Web Deployment Project,而問題機則已裝過VS2005的Web Deployment Project,最近才加裝VS2008版本的部署專案。

我優先懷疑是檔案路徑問題,立刻招喚茶包一哥--Process Monitor,很快抓到devenv.exe曾在部署專案輸出路徑/bin下找aspnet_merge.exe(東西不會在那裡呀! 笨蛋)的記錄,證實這是因路徑設定錯誤導致的問題。爬文後找到一篇珍貴文獻,追查C:\Program Files\MSBuild\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.targets,果然也看到跟原PO一樣的設定ExePath="$(FrameworkSDKDir)bin",修改為<AspNetMerge
ExePath="$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v8.0"...>
後問題排除! (註: 需重新啟動VS2008)

我猜想有可能是VS2008 Deployment Projects被安裝在已裝過VS2005 Deployment Projects的機器時,路徑判別有誤,未正確調整Microsoft.WebDeployment.targets所致;若是如此,應當算是安裝程式的Bug! 不過,以上推論我並沒有找環境實地驗證過,就留給遇到相似情境的網友再隨喜回報分享吧!

歡迎推文分享:
Published 31 March 2010 06:08 PM 由 Jeffrey
Filed under:
Views: 7,776



意見

沒有意見

你的看法呢?

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

5 + 3 =

搜尋

Go

<March 2010>
SunMonTueWedThuFriSat
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC

Tags 分類檢視
關於作者

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

文章典藏
其他功能

這個部落格


Syndication