![](/img/trans.png)
[英]Can't provide NuGet package source credentials to Azure Function
[英]How to properly configure external nuget package source with credentials?
我在我的項目中有一個外部nuget軟件包源,這是我在Visual Studio 2017中通過``軟件包Package Manager Settings
。 我可以正確安裝軟件包,但是單擊“ 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
通過Azure Devops feed推送或使用程序包時,它需要身份。
我認為您不需要使用nuget.exe sources Add -Name "TestNuget" -Source "https://xxx/nuget/v3/index.json"
類的命令nuget.exe sources Add -Name "TestNuget" -Source "https://xxx/nuget/v3/index.json"
,因為它用於管理Nuget.config
的軟件包源Nuget.config
文件,而不是解決未經授權的問題。 請參閱sources命令 。
我收到此錯誤狀態:
2>重試源'https://***.azure.com/*****/system.servicemodel.duplex/index.json'的'FindPackagesByIdAsync'。 2>響應狀態代碼不指示成功:401(未授權)。
大多數時候,在使用自包含部署模式時,我都會遇到此類消息。 但是實際上發布可以在我的機器中成功,並顯示以下消息:
(我認為發布也可以在您的身邊成功,在這種情況下,我認為您可以忽略它或使用相同的PublishProfile第二次發布項目,錯誤消息就會消失)
如果發布失敗:
1.如果發布失敗並顯示該消息,我認為您可以通過Nuget Package Manager UI
刪除referenced packages
,並從Package Sources UI
刪除Feed Url
。
2.然后重新啟動VS,並在“ Package Sources Setting
re-set
Feed網址。 重新設置包源后,無需使用命令行,使用VS2017 UI並重新添加包。
3.當您像這樣從新設置的提要中搜索軟件包時,它將彈出一個身份窗口 ,要求您輸入帳戶和密碼,然后您便獲得了授權 。 之后,您可以找到並使用項目中的包,然后將其成功發布。 希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.