【发布时间】:2017-02-24 02:17:09
【问题描述】:
我一直在更新以 .NET Framework 为目标的项目版本,更新到最新的 .NET (4.6.2)。
其中一些项目是 NuGet 包,内置于 TeamCity 9.0.2。
我已使用 this 指南中的步骤为不同的 .NET Framework 版本创建多个构建配置,因为我尚未更新到 4.6.2 的一些项目引用了 NuGet 包。因此,我试图让 TeamCity 使用这些构建配置来输出各种 Net40、Net45、Net46 和 Net462 版本,以便在更新包时无需强制升级所有使用 NuGet 的项目。
我真的不知道如何在 TeamCity 中执行此操作。我相当肯定这应该在“构建步骤”配置中完成,但到目前为止我还没有设法让它工作。
所以我尝试过的一件事,我认为我需要做但不确定是否重复第一个构建步骤并将Configuration 设置为Release-Net46。我认为这是必要的,否则将无法构建此版本的程序集(如果我错了,请纠正我!)
我尝试的第二件事是复制NuGet Pack 步骤并在Properties 中设置Configuration=Release-Net46 但所做的只是用Net46 替换Net462 版本,而不是像我希望的那样将这两个版本都包含在工件中.
我还尝试在NuGet Pack 的Properties 中设置多个Configuration 元素,例如Configuration=Release;Configuration=Release-Net46 或Configuration=Release,Release-Net46,但这两者都导致构建完全失败,所以显然这不是答案。
我认为必须有一种方法来获取此NuGet Pack 构建步骤以从其他构建配置中获取输出并将所有可用版本的程序集输出到工件。
这可能吗?我曾考虑为 TeamCity 中的每个构建配置创建单独的项目,但我不确定这是否是正确的方法,或者它是否会导致包源出现问题,并且为每个 .NET Framework 版本复制该项目四次似乎很不整洁.
【问题讨论】:
标签: .net nuget teamcity .net-framework-version teamcity-9.0