【发布时间】:2020-05-05 03:35:02
【问题描述】:
我正在使用需要一些 NuGet 包的构建配置来设置一些 CI。这些 NuGet 包构建在同一台服务器上,这很好。我读到我可以使用 TeamCity 的 NuGet 提要来满足我的要求。我一直在关注this 指南。
我在 Build 项目上创建了提要,该项目生成了 v1、v2 和 v3 端点。对于索引包,我选择了第一个选项,即
要仅索引由所选构建配置发布的包,请将 NuGet 包索引器构建功能添加到这些构建配置中。
因为它似乎是最直接的。 NuGet packages indexer 功能应用于构建 NuGet 包工件的两个配置。这些工件正在正确构建,如下所示:
例如,如果我将v3 端点插入Visual Studio Package Sources,我只会得到一个身份验证提示,然后是错误Unable to load the service index for source .../v3/index.json. Response status code does not indicate success: 401 (). 如果我将v3 端点粘贴到浏览器中,我会得到一个json 对象具有属性@id、@type 和comment 的对象集合。浏览器中的v1 和v2 向我显示了一个带有空Packages 集合的XML 文件。
我如何确认我的包裹实际上最终出现在提要中和/或我是否误解了端点的使用方式?
更新:原来这确实是我的一个误解。 /v3/index.json 列出了可以对提要执行的操作。使用 /v3/query 会列出该提要托管的所有包。
剩下的问题是尝试从提要消费包时出错。 TeamCity 抛出以下错误:
C:\Program Files\dotnet\sdk\3.1.201\NuGet.targets(124,5): error : Unable to load the service index for source <host>/httpAuth/app/nuget/feed/<project>/<feed_name>/v3/index.json
C:\Program Files\dotnet\sdk\3.1.201\NuGet.targets(124,5): error : Response status code does not indicate success: 401 ().
在我的保管库中的解决方案文件旁边是以下NuGet.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nugetserver" value="<host>/httpAuth/app/nuget/feed/<project>/<feed_name>/v3/index.json" />
</packageSources>
</configuration>
连接所有点还需要其他东西吗?
【问题讨论】: