以前都是直接使用VS或者msbuild生成整個解決方案,或者只構建單個工程。
這回使用msbuild構建單個工程的時候出現了問題,因為工程中使用了SolutionDir
這個宏來定位第三方庫路徑。
對於這個文件,微軟已經給出了解決方案。
解決
如何:使用 MSBuild.exe 生成解決方案中的特定目標
您可以使用MSBuild.exe
生成解決方案中的特定項目的特定目標。
若要生成解決方案中的特定項目的特定目標
- 在命令行中,鍵入
MSBuild.exe <SolutionName>.sln
, ,其中<SolutionName>
對應於包含您想要執行的目標的解決方案的文件名稱。 - 在后使用
/t
參數指定構建目標名/t:TargetName
。
示例
下面的示例執行對NotInSlnFolder
項目的Rebuild
操作,然后再執行對NewFolder
目錄下的InSolutionFolder
項目的Clean
操作。
msbuild SlnFolders.sln /t:NotInSlnfolder:Rebuild;NewFolder\InSolutionFolder:Clean
上面把rebuild
clean
等操作在英文版中都是target
,這個和makefile
中的依賴
目標
動作
概念是一樣的。rebuild
clean
等都是目標。