我使用vs2019的MSBuild构建我的解决方案
MSBuild.exe "MyTestSolution.sln" /property:Configuration=Release /t:Rebuild
/p:DefineConstants="testconstant" /p:OutputPath="C:\build"
但在解决方案中大约有20个项目需要构建。我只想排除其中的4个。
有没有什么办法可以让我排除这些项目?
发布于 2021-11-08 07:22:13
已检查MSBuild CLI,似乎没有此Switch
。
列出您想要编译的项目的应该是必要的。例如,使用/target:MyProject1.csproj;MyProject2.csproj;MyProject4.proj
。当然,如果您的项目之间存在一些依赖关系,您可以使用/target:MyProject1;MyProject2;MyProject4
。
示例
解决方案(文件夹)结构:
-MySolution
-MyProject1
-MyProject1.csproj
-…
-MyProject2
- MyProject2.csproj
-…
-MyProject3
- MyProject3.csproj
-…
-MyProject4
- MyProject4.csproj
-…
使用:的命令
cd C:\MySolution
.MSBuild.exe MySolution.sln /target:MyProject1;MyProject2;MyProject4
发布于 2021-11-10 19:04:15
我可以推荐“微软构建引擎内幕”这本书https://www.abebooks.com/9780735678163/Supplement-Microsoft-Build-Engine-Using-0735678162/plp。
有一个ExcludeFrom Build属性,您可以在其中添加项目,也许还可以为您的特定情况创建配置。我附上了这本书的截图。
https://stackoverflow.com/questions/69877262
复制相似问题