如何在 TeamCity Ubuntu Linux 上启用 NuGet 恢复?

How to enable NuGet restore on TeamCity Ubuntu Linux?

问题。我应该怎么做才能在 Ubuntu Linux[=33 上启用 TeamCity 中的 NuGet Installer 步骤=]?有可能吗?

我现在拥有的TeamCity 9.1.6Ubuntu 14.04.2 LTS Linux 上运行。有一个构建代理。它的配置定义

env.MSBuild=/usr/lib/mono/xbuild/12.0/bin
env.DotNetFramework4.5_x86=/usr/lib/mono/4.5

构建配置包含 NuGet 安装程序 步骤(用于恢复包)。此配置有一个不兼容的代理列表,其中包含带有以下消息的指定构建代理:

Incompatible runner: NuGet Installer
Unmet requirements: Exists=>DotNetFramework(4.5|4.5.1|4.5.2|4.6|4.6.1)_x86 exists

就是这样。该代理未启动(当然)。而且我觉得缺乏进一步调查这个问题所必需的知识。例如为什么 "exist" 这个词在 "Unmet requirements" 部分出现了两次;或者如何让 MonoMS .NET Framework 成为朋友。

解决方法。一段时间后,我实施了以下解决方法。我完全禁用了 NuGet Installer 步骤,并引入了一个类型为 Command Line 的新步骤。它的配置:

Run: Custom script
Custom script: mono --runtime=v4.0 ~/nuget.exe restore %teamcity.build.workingDir%/MySolution.sln

当然应该用自己的参数替换给定的参数。

我会感谢本机 TeamCityNuGet 安装程序 步骤的答案。