最近,我通過構建dll來解決msbuild.exe的問題。我的想法是從DOS命令行調用msbuild來自動創建DLL,而無需打開MS Visual Studio。命令行(爲例)我現在用的就是:msbuild.exe在文件更改後不會傳遞新的輸出
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\example.sln /p:Configuration=example_config
問題是,即使我改變了文件,在這個項目中(微軟的Visual Studio之外),似乎msbuild.exe不能識別出這個變化,然後根據舊文件輸出舊的dll。
另外我試圖刪除預先輸出的DLL,但仍然是相同的結果。 DOS下的命令行提供了舊的dll。
如果我打開Visual Studio並手動構建輸出,則問題不會發生。
我在網上查了一下,但找不到一個可行的解決方案。有人提到它可能是MS的問題。其實,我在Windows XP下也沒有遇到這個問題。
我使用
- 列表項
- 窗口7 64位版本
- MS的Visual C++ 2010
- 該溶液包含多個子項目,其中分別提供libary作爲輸出。
如果有人能幫忙,我會非常感謝。
當你說'MS Visio'你的意思是'微軟的Visual Studio'? – Lanorkin 2013-04-09 11:43:39
嘗試在msbuild命令行中使用附加的'/ t:Rebuild'開關 – Lanorkin 2013-04-09 11:45:33
- 抱歉,這是一個提示錯誤。我的意思是MS Visual Studio,而不是繪圖程序Visio。 - 我添加了這個開關,它可以工作,但如果我讓整個解決方案重新編譯,它會花費太多時間。我也試過:C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe C:\ example.sln/p:Configuration/t:MySubProject:Rebuild。仍然會重新編譯整個解決方案。可能因爲「MySubProject」是我的「輸出」項目。 – OISS 2013-04-09 12:22:39