以前都是直接使用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
等都是目标。