【问题标题】:How to exclude some projects from building?如何从构建中排除某些项目?
【发布时间】:2013-10-04 10:56:35
【问题描述】:

我在解决方案中有 X 个项目: AllPlatformProject1,AllPlatformProject2... ProjectOnlyForWindows1, OnlyForWindows2... ProjectNotLinux1、ProjectNotLinux2...

我想排除“OnlyForWindows”和“NotLinux”,但如何排除? 我想使用 xbuild 并能够为所有目标执行此操作。

【问题讨论】:

    标签: msbuild mono xbuild


    【解决方案1】:

    你不能用一个 sln 来做到这一点。通常人们会创建多个解决方案,即使在同一个目录中也是如此。

    Everything.sln
    WindowsCentric.sln
    LinuxCentric.sln
    

    类似的东西。

    “陷阱”是......当您添加“项目引用”时,两个项目都需要在 .sln 文件中。

    【讨论】:

      【解决方案2】:

      您是否尝试过使用不同的配置与您的目标配对并忽略特定项目中的配置?示例:

      解决方案配置:

       LinuxDebug
       LinuxRelease
       WindowsDebug 
       WindowsRelease
      

      然后您告诉解决方案从 Windows* 配置中省略 linux 项目,反之亦然?

      我承认,我没有利用 xbuild,但如果您使用的是解决方案而不是遍历 proj 文件,这种方法在 MSBuild 中有效。在 Traversal proj 文件的情况下,您只需将条件添加到 ItemGroup 包含项,以省略基于 $() 属性的项目。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-13
        • 2011-11-26
        • 2012-04-04
        • 2011-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多