【问题标题】:Generate only one MSI @ a time from one solution, where as the solution has many project.从一个解决方案一次只生成一个 MSI @,因为该解决方案有很多项目。
【发布时间】:2016-06-29 11:29:51
【问题描述】:

我需要为微服务项目构建,该项目只有一个解决方案,它为三个微服务项目生成了三个 MSI(例如:地址,交付,消息传递)是三个微服务,当解决方案构建在 tfs 中时。

我想要从这些微服务中生成仅用于交付的 MSI,而不应该生成其他 MSI,并且没有其他项目应该使用这个解决方案构建。

如何使用 TFS 构建定义和 TFS 构建模板来做到这一点。

【问题讨论】:

    标签: tfs build


    【解决方案1】:

    您可以在构建定义中选择要构建的项目文件,而不是解决方案文件。

    【讨论】:

    • 但是如果我们只包含 .csproj,wix 项目和其他文件将如何构建
    • 您可以在此项中添加您要构建的所有项目。
    • 我试过这个并在项目中添加了所有cs.proj文件来构建并选择了wix项目。
    • 我正在使用混合平台和 x86 上的 Wix 构建,并且 wix 出现错误。
    • 错误:candle.exe:参数“arch”丢失或具有无效值混合平台。可能的值为 x86、x64 或 ia64。
    【解决方案2】:

    msi 包由 WiX 项目生成。根据您的描述,您的项目中应该有三个 WiX 项目来为每个项目创建 MSI 包。您可以从“配置管理器”创建新的构建配置,只选中您要构建的服务项目和 WiX 项目,然后保存并签入更改。现在,当您使用新创建的构建配置从 TFS 对构建进行排队时,只会创建您想要的 MSI 包。

    【讨论】:

    • 那么每次签入我们都应该选择Wix项目然后签入是吗?
    • @rinoraju 对不起,我会得到你。你能更详细地解释你的问题吗?
    • 在构建定义中我提到了构建为“混合平台|发布”的配置。我正在构建的项目是“x86”版本,依赖项目在“任何 CPU”中。因此,当我在构建过程中构建此项目时,出现错误:candle.exe:参数“arch”丢失或具有无效值混合平台。可能的值为 x86、x64 或 ia64
    • @rinoraju 您的配置中是否存在“混合平台”?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    相关资源
    最近更新 更多