如何在 Artifactory 中使用 Nuget 依赖项配置 TFS2018 build vb.net

How to configure TFS2018 build vb.net with Nuget dependencies in Artifactory

我正在尝试配置一个 VB.Net 项目,该项目引用了存储在我们的 Artifactory 存储库中的 NuGet 包。我正在尝试在 TFS 2018 中配置构建,我认为可能有几种方法可以在 TFS 中配置构建。

我使用了 .net 桌面应用程序模板,然后对其进行了修改。我把它配置为 使用 NuGet 4.4.1 NuGet 恢复 构建解决方案 发布符号 将文件复制到... 发布神器:掉落

NuGet 恢复失败: nuget 命令失败,退出代码 (1) 和错误(packages.config 项目中的错误 已处理:##vso[task.issue type=error;]nuget 命令失败,退出代码 (1) 和错误(packages.config 项目中的错误%0D%0A 无法找到版本“1.0.8”包 'WPSArchiver-AnyCPU'.%0D%0A C:\Users\TFSBuild1_SVCACCT.nuget\packages:在源 'C:\Users\TFSBuild1_SVCACCT.nuget\packages\' 上找不到包 'WPSArchiver-AnyCPU.1.0.8'。%0D%0A https://api.nuget.org/v3/index.json: Package 'WPSArchiver-AnyCPU.1.0.8' is not found on source 'https://api.nuget.org/v3/index.json'.%0D%0A https://xxxxxxxxx.yyyy.com:8443/artifactory/api/nuget/wps-csat-nuget-local:“https:// xxxxxxxxx.yyyy.com:8443/artifactory/api/nuget/wps-csat-nuget-local/Packages(Id='WPSArchiver-AnyCPU',Version='1.0.8')' 处的 V2 提要返回了意外状态代码“401”未经授权'。) 任务结果:失败 包无法恢复

看起来它确实尝试访问我们的本地 Artifactory 实例,但它收到“401 未经授权” 正如您在上图中看到的那样,我创建了一个“提要凭证……”为此我创建了一个 Nuget 身份验证

我应该使用不同的构建步骤吗?如何解决身份验证请求问题。我知道我使用的帐号是有效的。

看起来本地 Artifactory 服务器的上述服务连接中的 Feed URL 不完整。指向Artifactory的源URL应该是这样的http://severname:8081/artifactory/api/nuget/<repository key>

对于您的情况,您可以尝试将上面屏幕中的 Feed URL 更改为 https://xxxxxxxxx.yyyy.com:8443/artifactory/api/nuget/wps-csat-nuget-local

Feed URL 应该与您在 nuget.config 文件中定义的 packageSources 相同。

您可以在项目设置的 Service connection 部分修改供稿凭据设置。

项目设置--> 服务连接 管道-->Select 您的连接 (CSAT Artifactory)--> 更新 Feed URL.

如果仍然无法验证,您可以尝试使用API密钥作为人工连接的密码字段。

希望以上帮助!