【问题标题】:How can i exclude projects from a solution build using msbuild?如何使用 msbuild 从解决方案构建中排除项目?
【发布时间】:2021-11-07 23:18:35
【问题描述】:

我使用 MSBuild for vs2019 构建我的解决方案

MSBuild.exe  "MyTestSolution.sln" /property:Configuration=Release /t:Rebuild 
/p:DefineConstants="testconstant" /p:OutputPath="C:\build"

但解决方案中大约有 20 个项目正在构建。我只想排除其中的 4 个。

是否有一个开关可以让我们排除这些项目?

【问题讨论】:

    标签: msbuild visual-studio-2019


    【解决方案1】:

    查了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
        -…
    

    命令使用:

    1. cd C:\MySolution.

    2. MSBuild.exe MySolution.sln /target:MyProject1;MyProject2;MyProject4

    【讨论】:

      【解决方案2】:

      我可以推荐《Inside the Microsoft Build Engine》这本书 https://www.abebooks.com/9780735678163/Supplement-Microsoft-Build-Engine-Using-0735678162/plp

      有一个 ExcludeFrom Build 属性,您可以在其中添加项目,并可能为您的特定情况创建配置。 我附上了书中的截图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-04-19
        • 2017-12-23
        • 2010-09-24
        • 1970-01-01
        • 2011-06-05
        • 2010-12-13
        • 1970-01-01
        相关资源
        最近更新 更多