在我的项目中,我有一个外部nuget包源,这是由Package Manager Settings
在Visual Studio 2017中添加的。我可以正确安装软件包,但是单击publish
(这是一个dotnet核心控制台应用程序)时。我收到此错误状态:
2>重试源'https://***.azure.com/*****/system.servicemodel.duplex/index.json'的'FindPackagesByIdAsync'。 2>响应状态代码不表示成功:401(未授权)。
我搜索了一个解决方案,说要使用cmd
添加凭据,但是当我尝试执行添加命令时,我从cmd收到了以下错误消息:
指定的名称已经添加到可用软件包来源列表中。请提供一个唯一的名称。
因此,我需要从Visual Studio中删除程序包源(使用“程序包管理器设置”),并且在删除程序包源之后,cmd
命令有效,但是之后我将无法再访问其中的外部程序包Visual Studio(因为我删除了它以便可以从命令行添加)。
我该如何解决?
编辑: cmd语法是这样的:
nuget.exe sources add -name MyExternalSource -source https://***/nuget/v3/index.json -username nugetUser -password MyToken
答案 0 :(得分:0)
通过Azure Devops feed推送或使用软件包时,它需要身份。
我认为您不需要使用nuget.exe sources Add -Name "TestNuget" -Source "https://xxx/nuget/v3/index.json"
之类的命令,因为它用于管理Nuget.config
文件中的程序包源,而不是解决 Unauthorized 问题。参见sources command。
我得到此错误状态:
2>重试“ FindPackagesByIdAsync”作为源 'https://***.azure.com/*****/system.servicemodel.duplex/index.json'。 2>响应状态代码不表示成功:401(未授权)。
大多数时候,我在使用Self-Contained部署模式时遇到了此类消息。但是实际上,发布可以在我的机器中成功,并显示以下消息:
(我认为发布也可以在您的身边成功,在这种情况下,我认为您可以忽略它或使用相同的PublishProfile第二次发布项目,错误消息就会消失)
成功构建项目后,您还可以使用Framework-dependent模式发布项目。
如果发布失败:
1。如果发布失败并显示该消息,我认为您可以通过referenced packages
删除Nuget Package Manager UI
,并从Feed Url
删除Package Sources UI
。
2。然后重新启动VS,并在re-set
中Package Sources Setting
的Feed Url。重新设置包源后,无需使用命令行,使用VS2017 UI并重新添加包。
3。当您从this之类的新设置供稿中搜索包裹时,它将弹出一个身份窗口,要求您输入帐户和密码,然后现在已授权。之后,您可以找到并使用项目中的包,然后将其成功发布。希望对您有所帮助。