TFS 2015 构建步骤 Nuget 发布者 "Ambiguous option 's'"

TFS 2015 Build step Nuget Publisher "Ambiguous option 's'"

好的,我们目前停留在现场 TFS2015 上。我的 Nuget Publisher 构建步骤失败:

##[error]Ambiguous option 's'. Possible values: Source SymbolSource SymbolApiKey.

它出现在他们用 -s 代替 -source 的构建步骤中,并且在以后的版本中他们添加了更多以 s 开头的命令。那么我的选择是什么?

  1. 在 Powershell 中编写我自己的(可以,但 TFS Build 对此非常笨拙)
  2. 找到它在 TFS 中定义的任何地方(希望是一个模板 .ps 文件)并在那里修复它(有人知道它保存在哪里吗?)
  3. 升级到更高版本的 TFS(相当大,但可能ps 不可避免的任务)
  4. 以某种方式覆盖 -s 命令?
  5. ????????
  1. 通过 Command Line 任务调用 NuGet.exe 但是你喜欢

如果您执行了#3(升级 TFS),您会发现 PowerShell 构建任务可以 运行 一个内联的 PowerShell 脚本,从而大大减少笨拙。

您可以使用 tfx 命令行实用程序提取和修改任务,但我几乎可以保证这会在您最终升级时产生严重后果。

我正在添加有关步骤 5 的详细信息的答案,这可能会对仍在使用 TFS 2015 的团队有所帮助。 Nuget Publisher 似乎使用旧版本,这意味着“-s”选项将不起作用。 要绕过这种情况,您可以按如下方式设置构建:

1- 添加 Nuget Packager 步骤并指定 Package 文件夹值

2- 添加一个新的步骤来复制你的工件(注意应该复制的内容必须以 nupkg 结尾):

3- 最后,您可以 运行 执行发布操作的命令行。在我的例子中,我们使用 init 命令推送整个存储库(PackageRepository 是我们在变量部分设置的内部提要的路径):