web-dev-qa-db-ja.com

NuGet Package Managerコンソールを使用するとソースに到達できません

パッケージ管理をファイルの手動更新からNuGetに移行しています。ソース管理にすでにあるものと一致するように、古いバージョンのパッケージをインストールしようとしています。 UIからこれを行う方法はないため、コマンドラインを使用して適切なバージョンを取得します。

何らかの理由で、Install-Packageは、nugetギャラリーに到達できないことを通知し続けます。

Nuget.org [ https://www.nuget.org/api/v2/] のソースに到達できません。 NuGetローカルキャッシュへのフォールバック

これは、当社のソリューションの1つでのみ発生します。新しいソリューションを作成するか、同じリポジトリで別のソリューションを使用すると、パッケージは期待どおりにインストールされます。パッケージをダミーソリューションにインストールしてローカルキャッシュを埋めてから、障害のあるソリューションに正常にインストールすることもできます。 NuGetコンソールからURLをInvoke-WebRequestしようとしましたが、HTTP 200を取得しました。

何がこれを引き起こす可能性がありますか?ソリューション/プロジェクトごとにパッケージソースをオーバーライドする方法はありますか?

153
Etienne Maheu

Package SourceがPackage Manager Consoleでnuget.orgに設定されていたにもかかわらず、-Source nuget.org引数を明示的に追加することでこれが修正されました。

したがって、使用例は次のとおりです。

Install-Package Akka.net -Source nuget.org

Akka.netはインストールするパッケージであり、ここにその一例です。

338
sellotape

Visual StudioのオプションでデフォルトのNuGetソースをコピーする必要がありました。コピーしたソースで、URLをhttpsからhttpに変更しました。これで問題は解決しました。

この提案の功績は次のとおりです。 https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351 、「jpharris4」。

10
Zarepheth

NuGetソースもUIから変更できます。 NuGetソースを古いバージョンに変更するだけで、正常に機能するはずです。

enter image description here

Api.nuget.org(v3)に関連するVS 2015のバグはまだ少ないようです。

6
Sameer Azazi

何が原因で問題が発生するのかわかりませんが、)は確かにでパッケージソースをオーバーライドする方法です。ソリューションベース、ただし、指定されたソリューションでNuGetパッケージの復元を有効にしている場合のみ。

ソリューションがNuGetパッケージの復元を有効にすると、「。nuget」というフォルダーがソリューションに追加されます。この下に、「NuGet.targets」というファイルがあります。このファイルには、添付画像に表示されるような「 '$(PackageSources)' == ''」という条件を持つItemGroupがあります。

ItemGroupが空の場合(または図のように完全にコメント化されている場合)、ソリューションはshouldの特定のファイルを使用します= [ツール] >> [オプション]にリストされているソースと同じである。ただし、PackageSourceアイテムのコメントを解除するか、そのItemGroupに追加すると、ソリューションはリストされたパッケージソースのみを検索し、リストされたソースのみを検索します。

Contents of the Nuget.targets file

Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2として完全なURLとともに共通を提供する必要がありました

2
gavinfonseca

パッケージマネージャーコンソールでソースが表示されませんでした

移動先:ツール->オプション-> Nugetパッケージマネージャー->パッケージソース

ソースを見つけました。それらのチェックを外し、それらを再度チェックすると、パッケージマネージャーコンソールに再表示されました。

2
user2083640

これはVS 2015 profで私のために働いています:ツール->オプション-> Nuget Package Manager->パッケージソース

  1. 追加ボタンを押します
  2. 名前ラベルで編集:nuget.org
  3. ソースラベルで編集: https://www.nuget.org/api/v2/
  4. OKを押す

それが役に立てば幸い ;)

1
praguan

私の場合、原因はパッケージに合意があったことです。 UI-[NuGetパッケージの管理]ダイアログから、受け入れて続行するオプションがあります。

VS 2013のパッケージマネージャーコンソールには、これに関する問題があるようです。他の人が言ったように、VS 2013を再起動するとコンソールで解決される可能性があります。

1
Byron

オフラインモードで作業しているために発生します。ネットワークに再接続するときは、ログオフしてログバックする必要があります。パッケージマネージャーはスムーズに再初期化されます。

0
Rakesh Pahuja

同じメッセージで同じ問題が発生しました。しかし、私の問題の理由は、TFSへの接続が失われたことです。 TFSサーバーは他のネットワークでホストされており、VPNへのアクセスに使用しました。 TFSへの接続が確立されていない状態でパッケージをインストールしようとすると(VPNがオフになった)、同じ問題が発生しました。

このTFSの動作に注意してください。

0
RredCat

ここに画像の説明を入力してください あなたのオフィス/ホームファイアウォールがnuget.orgをブロックしている可能性がありますので、たとえばモバイルやwifiなどの別のインターネットネットワークに接続してみてください。この方法で解決できました。

0
user1687805

私はこの問題VS2013に直面し、3時間の時間を無駄にしました。

問題の原因がわからない。しかし、上記の解決策はどれもうまくいきませんでした。

Nuget Package Managerコンソールの再インストールはうまくいきました。

[ツール]-> [拡張機能と更新]-> [すべて]の下で、Visual StudioのNuget Package Managerを探して、アンインストールを押します。

https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio201 に移動して、拡張機能をダウンロードします。

0
Syed Abbas