【发布时间】:2017-12-09 16:38:54
【问题描述】:
我在 TFS 2017 Update 1 中设置了 NuGet 包源。 NuGet 源码如下
http://tfsserver:8080/tfs/defaultcollection/_packaging/NuGet-Feed/nuget/v3/index.json
按照连接到 TFS Package Feed 时的说明,我在本地添加了 NuGet 源,并尝试将包发布到 NuGet Feed,例如以下格式:
nuget.exe push -Source "NuGet-Feed" -ApiKey INCTX Microsoft.AspNetCore.Http.Abstractions.1.1.2.nupkg
上述命令执行结果如下:
Pushing Microsoft.AspNetCore.Http.Abstractions.1.1.2.nupkg to 'http://tfsserver:8080/tfs/DefaultCollection/_packaging/23093bd8-41aa-403d-9d3f-5c713b14ce32/nug
et/v2/'...
PUT http://mtrlpqdc2av-053:8080/tfs/DefaultCollection/_packaging/23093bd8-41aa-403d-9d3f-5c713b14ce32/nuget/v2/
Accepted http://mtrlpqdc2av-053:8080/tfs/DefaultCollection/_packaging/23093bd8-41aa-403d-9d3f-5c713b14ce32/nuget/v2/ 1702ms
Your package was pushed.
如图所示,包已发布到“nuget/v2”端点。
使用 NuGet 还原任务运行 TFS 构建:需要以下命令 来自不存在的 TFS Feed 的 nuget/V3/ 端点。 注意:TFS 构建中的 NuGet 还原任务已自定义为使用 NuGet 4.. 版本。
我猜的问题是为什么 NuGet Push 会发布到 'nuget/v2/' 端点。
TFS 构建 NuGet 还原任务输出:
2017-07-06T15:58:13.0657118Z CredentialProvider.TeamBuild: URI: http://tfsserver:8080/tfs/defaultcollection/_packaging/INCTX-NuGet-Feed/nuget/v3/index.json
2017-07-06T15:58:13.0657118Z CredentialProvider.TeamBuild:是否重试:False
2017-07-06T15:58:13.0657118Z CredentialProvider.TeamBuild:匹配前缀:
2017-07-06T15:58:13.2688422Z CredentialProvider.TeamBuild:仅此提供程序 处理来自构建的团队项目集合的 URI
2017-07-06T15:58:13.6125991Z GET tfsserver:8080/tfs/DefaultCollection/_packaging/23093bd8-41aa-403d-9d3f-5c713b14ce32/nuget/v3/flat2/microsoft.netcore.app/index.json
2017-07-06T15:58:13.6125991Z GET tfsserver:8080/tfs/DefaultCollection/_packaging/23093bd8-41aa-403d-9d3f-5c713b14ce32/nuget/v3/flat2/microsoft.netcore.app/index.json
2017-07-06T15:58:13.7219799Z 未找到
谢谢,
马雷兹
【问题讨论】:
-
详细的错误信息是什么?地址是正确的,你可以去你的提要页面,然后选择那个包并检查安装[包]部分的详细信息。
-
我事件使用了 NuGet 4.* 版本。包推送,发布到 nuget/v2 端点,我不知道为什么? TFS 构建 NuGet 还原任务,正如我所说,正在运行“GET”命令并正在寻找 nuget/v3。在提要页面中,选择包也指 nuget/v3 端点。正如我所提到的,推送对 nuget/v2 进行了 PUT,但我不知道为什么要这样做。使用 TFS 构建任务的更多结果更新了问题。
-
我使用了 NuGet 4.0,推送端点是 nugget/v2,还原端点是 nugget/v3,但对我来说效果很好。你能通过 Nuget.exe 安装包吗?源网址是什么?尝试创建一个新包并推送到 feed,然后用这个包试试。
-
您可以在 OneDrive 上共享一个包。
-
我可以通过 NuGet 4.0 在我的笔记本电脑上使用 nuget/v3 恢复端点安装包。但是 TFS NuGet 还原任务在 nuget/v3 端点上未找到,这很奇怪。我在 NuGet Build 还原任务中使用 NuGet 4.0,我将 NuGet 4.0 放在构建控制器上。