Asp.netコアWebアプリケーション(RC2)のVisual Studio Team Servicesフィードからnugetパッケージをインストール/復元できません。以下を受け取ります:
エラー:応答ステータスコードは成功を示しません:401(不正)。
Visual Studio Community 2015 Update 2とnugetバージョン3.4.4を実行しています。このフィードのパッケージを他の種類のプロジェクトにインストール/復元できます。
Asp.netコアWebアプリの資格情報を渡すには、他に何かする必要がありますか?
再現手順:
チームサービスのパッケージタブから[フィードに接続]を選択し、NuGetパッケージのソースURLをコピーします
Visual Studioの場合->ツール-> NuGetパッケージマネージャー->パッケージマネージャー設定->パッケージソース、vsoからのフィードURLの追加
次に、ASP.NET Core Webアプリケーション(.NET Framework)プロジェクトから[参照]を右クリックし、[NuGetパッケージの管理]-> [パッケージソースからフィードを選択(パッケージが一覧表示されます)]-> [クリックしてインストール]
出力:
Installing NuGet package xxxxx
Successfully installed xxxxx to WebApplication1
========== Finished ==========
次に、パッケージを復元しようとしますが、その時点で取得します。
error: Response status code does not indicate success: 401 (Unauthorized).
error: Failed to retrieve information from remote source
Webプロジェクト参照内-パッケージに警告アイコンがあります-NU1001依存関係xxxxxを解決できませんでした
私の側で問題を再現できます。以下は、パッケージの復元に使用する回避策です。
私はそれがまったく同じ問題ではないことを知っていますが、私のように人々はこれと一緒にこの問題に遭遇するかもしれません。
VS Community 2019をインストールし、昨日VS 2017を削除することにしましたが、その後、会社が作成したNuget Packagesを復元しようとすると、401のエラーが表示され始めました無許可。
いくつかのネット検索を行った後、VSの構成とファイルをいじりたくないと判断したとき、それは404であり、アカウントに関連付けられているため、次のようになりました。
削除して再作成した2つのアカウントは次のとおりです。
私にとっての問題は、プライベートなオンプレミスのAzure Artifacts NuGetフィードに接続するときに、資格情報が正しくない(ドメインを指定していない)ためでしたが、すぐにはわかりませんでした。
Visual Studio 2019を使用して、プロジェクトのNuGetパッケージマネージャーを開きます。 [参照]タブが最初に表示され、パッケージソースがプライベートNuGetフィードである場合、最初にすべてのパッケージが一覧表示されるため、問題はないようです。ただし、[インストール済み]タブに切り替えると、ログインダイアログがポップアップ表示されます。
ユーザー名とパスワードを入力するとドメインなしドメイン(sousernameinteaddomain/username)、これは受け入れられるように見えますが、インストールされているバージョン以外のバージョンが私のインストール済みパッケージにリストされていません。 [参照]タブに移動すると、次のエラーが表示されます。
[出力にエラーを表示]をクリックすると、次のように表示されます。
ソースからのメタデータの取得に失敗しました ' https:// [domain]/[Collection]/_packaging/[GUID] /nuget/v3/query2/?q=&skip=0&take=26&prerelease=true&semVerLevel=2.0. '。 応答ステータスコードは成功を示しません:401(無許可)。
これを解決するには、資格情報マネージャーでVisual Studioを閉じてから、Azure DevOpsサーバーに関連する資格情報をすべて削除します(例:[domain]
、VSCredentials_[domain]
)。これらのユーザー名に間違ったドメインが表示されていることに気付きました。ActiveDirectoryドメインではなく、Azure DevOpsサーバードメインが表示されていました。
次に、Visual Studioを再度開き、NuGetパッケージマネージャーを再度開き、今回は([インストール済み]タブで)ドメインを含む資格情報を入力します(domain/username )。これで問題が解決し、Azure Artifact NuGetフィードに接続できます。
VSTSビルド定義のNuGet Restoreタスクで同様の問題(認証なし)がありました。解決策は、公式および私のカスタムフィードへの参照を含むNuGet.configファイルをプロジェクトのルートに追加することでした。多分それはあなたのコアプロジェクトにも役立ちます。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="RmlrTools" value="https://<MyProjectName>.pkgs.visualstudio.com/DefaultCollection/_packaging/<MyFeedName>/nuget/v3/index.json" />
</packageSources>
<!-- used to store credentials -->
<packageSourceCredentials />
<!-- Used to specify which one of the sources are active -->
<activePackageSource>
<!-- this tells only one given source is active -->
<add key="NuGet official package source" value="https://nuget.org/api/v2/" />
<!-- this tells that all of them are active -->
<add key="All" value="(Aggregate source)" />
</activePackageSource>
<!-- Used to disable package sources -->
<disabledPackageSources />
<!--
Used to specify default API key associated with sources.
See: NuGet.exe help setApiKey
See: NuGet.exe help Push
See: NuGet.exe help mirror
-->
<!--<apikeys>
<add key="http://MyRepo/ES/api/v2/package" value="encrypted_api_key" />
</apikeys>-->
</configuration>
上記のいずれかを試す前に、コンピュータを再起動してみてください。
また、 here は、「。NET Core」セクションでその方法を示すドキュメントです。