NuGet推送到TFS Feed发布nuget为V2但TFS Build期望恢复V3

时间:2017-07-05 21:00:35

标签: tfs nuget

我在TFS 2017 Update 1中设置了NuGet包Feed。 NuGet Source如下:

  

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 Restore任务运行TFS Build:以下命令需要  来自TFS Feed的 nuget / V3 / 端点不存在。 注意:TFS构建中的NuGet还原任务是自定义的,以使用NuGet 4. 版本。

获取http://tfsserver:8080/tfs/DefaultCollection/_packaging/23093bd8-41aa-403d-9d3f-5c713b14ce32/nuget/v3/flat2/microsoft.aspnetcore.http.abstractions/1.1.2/microsoft.aspnetcore.http.abstractions.1.1.2.nupkg

我想问的问题是为什么NuGet Push将发布到' nuget / v2 /'端点。

TFS Build NuGet Restore任务输出:

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:重试:错误

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 < / p>

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 < / p>

2017-07-06T15:58:13.7219799Z NotFound

谢谢,

Mamrez

2 个答案:

答案 0 :(得分:0)

您可能需要检查nuget.config并参考以下内容:

https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference#push

它表示你可以在推送时指定它或在配置中定义DefaultPushSource。我可能怀疑你的v2源在配置中被定义为DefaultPushSource。

尝试:nuget.exe config DefaultPushSource查看它的设置。

答案 1 :(得分:0)

通过命令行在TFS App-Tier上运行也发出错误,表明无法访问NuGet源。

最后弄清楚正在使用哪个NuGet.config文件,结果,来自TFS的NuGet发布开始在App Tier和TFS构建中工作。