當我們通過MSBuild運行我們的構建時,MSBuild在/下運行什麼上下文?MSBUILD運行在什麼上下文中?
我問的原因是因爲如果項目是通過VS2010構建的(在同一臺機器上),但是我們的系統沒有工作,我有預構建事件調用命令行程序(ajax minification)構建系統(CCNet)正在構建它。我得到的錯誤是9009,這意味着它無法找到該文件。命令行程序爲它的位置設置了一個環境路徑(環境路徑是通過setx設置的,也許它是唯一爲當前用戶設置的?),因此只有在CCNet調用MSBuild時,只調用其名稱才能完美地工作。
預構建事件由MSBuild Exec類執行。它在cmd.exe的隱藏實例中運行命令。工作目錄設置爲項目的輸出目錄,初始環境從父進程繼承。 *不*使用SETX,不會修改環境。使用SET。使用PATH來改變路徑。 – 2013-02-12 22:08:17
你能解釋我應該在哪裏使用SET PATH?我在安裝ajax縮小程序後使用了SETX。我如何在預生成事件中使用SET PATH? – BlueChameleon 2013-02-13 14:41:20
只需將它放在預構建事件中:set path = c:\ foo \ bar;%path%。 – 2013-02-13 14:45:40