在 Visual Studio Team Services 中的托管生成代理上还原 Nuget 时找不到 AutoMapper 包 5.1.1

AutoMapper package 5.1.1 is not found when Nuget restore on hosted build agent in Visual Studio Team Services

在 Team Services(以前称为 VSO)中的托管生成代理上恢复 AutoMapper 时出现了非常奇怪的问题。它只是失败并显示警告 'Unable to find version 5.1.1 of package AutoMapper'.

我们有一个自定义的私有 nuget 存储库,因此我们不得不添加一个 nuget.config 来列出所有源,但由于某种原因找不到 AutoMapper!即使在删除包文件夹后,它在 Visual Studio IDE 中也能正常工作。

为了测试它是否是带有 nuget 源的自定义设置,我为另一个解决方案创建了一个构建,它很高兴地通过了恢复,因为那里没有对 AutoMapper 的引用。

我不能断定它是 AutoMapper,因为它适用于 IDE,但我不能说 nuget.config 是个问题,因为第二种解决方案有效(具有不同的

听起来 VSO 构建代理没有安装最新的 NuGet 客户端。这就是我在我的存储库中包含 nuget.exe 的原因 - NuGet 客户端破坏 nuget.org.

的次数太多了

我们解决了这个问题,方法如下:

当我们在构建过程中添加 nuget 配置部分时,问题就开始了,因为我们有自己的 nuget 服务器以及内部包。

在尝试使用 ExpressMapper 并将其用于某些组件后,我们发现 AutoMapper 是我们使用的某些包的依赖包,因此我们必须找到一种使用 automapper 的方法。

我们构建了我们需要的 automapper 包版本并将其上传到我们自己的 nuget 服务器并且成功了。我希望这对某人有所帮助。

在 VSO 中,您可以 select Nuget 安装程序构建步骤的高级部分中的 Nuget 版本。我只是将我的设置为“3.5.0 - build 1938 (rc2)”,nuget 能够找到 AutoMapper 包。

nuget v2 曾经(或现在)存在一个已知问题 feed/api。如果你使用 v3,它就会消失。见@https://github.com/NuGet/Home/issues/1448

它在更高版本的 nuget 中已修复,这可能是升级版本后修复它的原因。