首页 > 解决方案 > 在 Jenkins 构建期间恢复 Telerik 的 nuget 包

问题描述

在我的开发机器上,我已经成功地为 Telerik 的包源配置了 Visual Studio。根据我们当前的许可证,它显示Telerik.UI.for.AspNet.Core我们可以下载的最新包是版本2016.3.1118 (以及其他旧版本) 所以在开发机器上我安装了该版本2016.3.1118并成功测试。

现在,我正在尝试在我们的 Jenkins 构建服务器上发布解决方案。Jenkins 执行以下命令恢复包并发布

dotnet publish wmp.sln -c Release

但是,我在构建服务器上遇到错误

错误 NU1102: 无法找到版本 (>= 2016.3.1118) [D:\Jenkins\wmp\workspace\wmp.sln]的包 Telerik.UI.for.AspNet.Core
错误 NU1102: - 找到 1 个版本nuget.org [最近的版本:2016.3.914] [D:\Jenkins\cr-wmp\workspace\wmp.sln]

更新 1

我使用说明设置 Telerik 的 Nuget Package Feed

(请注意,我确实有另一个使用 version 的 ASP.NET Core 项目2016.3.914。该项目还配置了另一个用于 CI 的 Jenkins 作业。恢复和发布没有问题)

标签: teleriknugetkendo-asp.net-mvcnuget-package-restore

解决方案


你的错误说

错误 NU1102:-在 nuget.org 中找到 1 个版本

这意味着它没有检查 Telerik 的包源。您没有确切解释如何添加源代码,但鉴于上面引用的消息,并且您说您“配置了 Visual Studio”,我假设您在 Visual Studio 的工具->选项中使用了 NuGet->包源 UI。不幸的是,NuGet 的选项对话框仅支持用户配置文件设置,不支持 NuGet 的分层设置功能。因此,使用 VS UI 添加源使其可用于该计算机上您的用户帐户上的每个解决方案,但不适用于同一台计算机上的其他帐户,或者当该解决方案在另一台计算机上使用时。

您应该在存储库中创建一个nuget.config并使用packageSources来指定您的包源。如果您的计算机上安装了 .NET Core SDK,则可以使用dotnet new nugetconfig从模板创建文件。一旦您将配置了包源的 nuget.config 签入到源代码存储库中,当它在 CI 代理上签出时,NuGet 将知道在恢复时检查 Telerik 的提要。


推荐阅读