C# 如何使用凭据正确配置外部nuget包源?
我的项目中有一个外部nuget包源代码,我在Visual Studio 2017中通过C# 如何使用凭据正确配置外部nuget包源?,c#,visual-studio,nuget,C#,Visual Studio,Nuget,我的项目中有一个外部nuget包源代码,我在Visual Studio 2017中通过包管理器设置添加了该源代码。我可以正确安装软件包,但当我点击发布时(这是一个dotnet核心控制台应用程序)。我获得以下错误状态: 2> 正在为源“https://***.azure.com/******/system.servicemodel.duplex/index.json”重试“FindPackagesByDaSync”。 2> 响应状态代码不表示成功:401(未经授权) 我搜索了一个说明使用cmd添加
包管理器设置添加了该源代码。我可以正确安装软件包,但当我点击发布时(这是一个dotnet核心控制台应用程序)。我获得以下错误状态:
2> 正在为源“https://***.azure.com/******/system.servicemodel.duplex/index.json”重试“FindPackagesByDaSync”。
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
当通过Azure Devops订阅源推送或消费包时,它需要标识
我认为您不需要使用像nuget.exe sources添加-Name“TestNuget”-Source这样的命令https://xxx/nuget/v3/index.json“
,因为它用于管理Nuget.config
文件中的包源,而不是解决未经授权的问题。看
我获得以下错误状态:
2> 正在为源重试“FindPackagesByDaSync”
'https://***.azure.com/******/system.servicemodel.duplex/index.json'。
2> 响应状态代码不表示成功:401(未经授权)
大多数时候,我在使用部署模式时都会遇到这种消息。但实际上,发布可以在我的机器上成功,消息如下:
(我认为发布在您这边也会成功,在这种情况下,我认为您可以忽略它或使用相同的PublishProfile第二次发布项目,错误消息将消失)
此外,您还可以在成功生成项目后以模式发布项目
如果发布失败:
1.如果您的发布因该消息而失败,我认为您可以通过Nuget Package Manager UI
删除引用的包
,并从包源UI
删除提要Url
2.然后重新启动VS并在包源设置中重新设置
提要Url。无需使用命令行,使用VS2017 UI,重新设置包源后重新添加包
3.当您从new set feed like搜索包时,它会弹出一个标识窗口,要求您输入帐户和密码,然后您现在已获得授权。之后,您可以在项目中查找、使用包,并成功发布它。希望它能有所帮助。通过Azure Devops订阅源推送或消费软件包时需要标识
我认为您不需要使用像nuget.exe sources添加-Name“TestNuget”-Source这样的命令https://xxx/nuget/v3/index.json“
,因为它用于管理Nuget.config
文件中的包源,而不是解决未经授权的问题。看
我获得以下错误状态:
2> 正在为源重试“FindPackagesByDaSync”
'https://***.azure.com/******/system.servicemodel.duplex/index.json'。
2> 响应状态代码不表示成功:401(未经授权)
大多数时候,我在使用部署模式时都会遇到这种消息。但实际上,发布可以在我的机器上成功,消息如下:
(我认为发布在您这边也会成功,在这种情况下,我认为您可以忽略它或使用相同的PublishProfile第二次发布项目,错误消息将消失)
此外,您还可以在成功生成项目后以模式发布项目
如果发布失败:
1.如果您的发布因该消息而失败,我认为您可以通过Nuget Package Manager UI
删除引用的包
,并从包源UI
删除提要Url
2.然后重新启动VS并在包源设置中重新设置
提要Url。无需使用命令行,使用VS2017 UI,重新设置包源后重新添加包
3.当您从new set feed like搜索包时,它会弹出一个标识窗口,要求您输入帐户和密码,然后您现在已获得授权。之后,您可以在项目中查找、使用包,并成功发布它。希望有帮助。在继续之前,请检查您的用户凭据存储的确切位置。还可以尝试使用dotnet publish
生成部署二进制文件,这可能会比Visual Studio提供更好的错误消息。发布之前您是否成功构建了项目?如果发布失败时生成良好,则可能可以尝试重新生成项目,并确保引用的程序集复制到输出文件夹,然后发布项目。继续之前,请检查用户凭据的确切存储位置。还可以尝试使用dotnet publish
生成部署二进制文件,这可能会比Visual Studio提供更好的错误消息。发布之前您是否成功构建了项目?如果发布失败时生成良好,则可以尝试重新生成项目,并确保将引用的程序集复制到输出文件夹,然后发布项目。