NuGet.org に関してよく寄せられる質問

ライセンス条項

パッケージで特定のライセンス情報が提供されない場合の既定のライセンス条項は何ですか?

各パッケージには、パッケージに含まれている条項が適用されます。 パッケージのアクセス、ダウンロード、または取得の前に、適用される条項を確認する必要があります。 NuGet.org で、パッケージ ページの [ライセンス情報] リンクを使用します。

パッケージでライセンス条項が指定されていない場合は、NuGet.org パッケージ ページの [Contact owners]\(所有者に問い合わせる\) リンクを使用して、パッケージ所有者に直接問い合わせてください。 Microsoft はサードパーティのパッケージ プロバイダーを通じてユーザーに知的財産ライセンスを付与することはありません。また、サードパーティによって提供される情報について責任を負いません。

NuGet.org でのパッケージの管理

パッケージ メタデータをアップロードしてから編集することはできますか?

NuGet では、すべてのパッケージに署名することをお勧めしています。 パッケージ署名の設計原理は、署名付きパッケージ コンテンツ (nuspec を含む) は不変でなければならないということです。 パッケージ メタデータを編集すると、nuspec が変更され、既存の署名が無効になります。 パッケージが作成された後にパッケージ メタデータの編集が必要とならないように、既存のワークフローを変更することをお勧めします。

パッケージに対してリストされる依存関係は、パッケージ自体から自動的に生成されるものであり、編集できないことに注意してください。

また、パッケージを int.nugettest.org にアップロードすることは、パブリック ギャラリーでパッケージを使用できるようにせずに、パッケージをテストして検証する優れた方法です。 API エンドポイント: https://apiint.nugettest.org/v3/index.json

NuGet.org に発行されたパッケージを削除することはできますか?

一般に、NuGet.org に公開されたパッケージの削除はサポートされていません。詳細については、パッケージの削除に関するポリシーを参照してください。

将来的に公開されるパッケージの名前を予約することはできますか。

はい。 ご使用のアカウントのパッケージ ID プレフィックスを要求することで、NuGet.org でパッケージの ID を予約できます。 パッケージ ID プレフィックスを要求するには、ドキュメントの指示に従ってください。

パッケージの所有権はどのように主張できますか。

NuGet.org でパッケージ所有者を管理する」を参照してください。

ソフトウェア ライセンスに違反しているパッケージ所有者にはどのように対処するのですか?

NuGet コミュニティと協力して、パッケージ所有者と他のソフトウェアの所有者間で発生する可能性のある紛争を解決することをお勧めします。 紛争解決プロセスが作成されています。NuGet.org 管理者に仲裁を求める前にこのプロセスに従ってください。

NuGet.org に自分のテスト パッケージをアップロードすることをお勧めしていますか?

テスト目的で、int.nugettest.org を使用することができます。また、myget.orgAzure DevOps などの別のパブリック NuGet サーバーを使用することもできます。

int.nugettest.org にアップロードされたパッケージは保持されない場合があることに注意してください。

NuGet.org にアップロードできるパッケージの最大サイズはいくらですか?

NuGet.org では最大 250 MB のパッケージをアップロードできますが、可能な場合はパッケージを 1 MB 未満に保ち、依存関係を使用してパッケージを相互にリンクさせることをお勧めします。 一般に、競合を避けるため、パッケージにはアセンブリを 1 つだけ含めます。

NuGet では HTTP を使用してパッケージをダウンロードするため、パッケージが大きいと、小さいパッケージよりもインストールに失敗する可能性が高くなります。

複数のパッケージ間で依存関係を共有することはできます。これにより、NuGet パッケージのコンシューマーの合計ダウンロード サイズが小さくなります。

依存関係は、ほとんどの場合、静的なものであり、変わることはありません。 コードでバグを修正するときは、依存関係の更新が必要ない場合があります。 依存関係をバンドルする場合、結局は毎回大きなパッケージを再配布することになります。 NuGet パッケージを関連する依存関係に分割することで、パッケージのコンシューマーに応じて、アップグレードをより細かく行うことができます。

NuGet.org にアクセスできない

NuGet.org ではどの SSL/TLS バージョンと暗号スイートがサポートされていますか。

NuGet.org では、TLS 1.2 と次の暗号スイートがサポートされています。

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

NuGet.org からパッケージを復元できないのはなぜですか。

NuGet.org からパッケージを復元するときに一時的なエラーが発生した場合は、次のことをお勧めします。

  • より優れた回復性サポートを備えた最新バージョンの NuGet クライアントを使用する。
  • NuGet クライアントの環境変数を使用して、CI マシンの再試行ポリシーを強化する。
環境変数 説明 解説
NUGET_ENABLE_ENHANCED_HTTP_RETRY NuGet での拡張 HTTP 再試行を有効または無効にします。 使用可能な値は true (.NET CLI 6.0.300、NuGet CLI 6.2、Visual Studio 2022 バージョン 17.2 以降の既定値) または false です。
NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT 拡張再試行が有効な場合に HTTP 接続を再試行する最大回数を設定します。 実行する再試行回数を表す数値。既定値は 6 です。
NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS 拡張再試行が有効になっているときに HTTP 接続を再試行するまでの待機時間をミリ秒単位で設定します。 待機時間の既定値 (ミリ秒) は 1000 です。

Note

これらの環境変数は、.NET CLI (.NET SDK) 6.0.100、NuGet CLI 6.0、Visual Studio 2022 バージョン 17.0、および対応する MSBuild バージョン以降で使用できます。 NuGet リリース ノートを参照してください。

重要

NuGet.org では、Alpine Linux ユーザーが Alpine Linux 3.18.0 以降にアップグレードすることをお勧めします。 これらのバージョンでは、DNS リゾルバーでの TCP フォールバックがサポートされています。 UDP 経由の DNS のみをサポートする古いバージョンの Alpine Linux を使用している場合は、 V3 API にアクセスするときに DNS エラーが発生する可能性があります。

そのバージョンの NuGet クライアントでも失敗する場合は、サポートに問い合わせて、次の内容を含む、追加の接続のトラブルシューティングに関する情報を提供してください。

  • 使用しているパッケージ ソース
  • 使用している NuGet クライアントのバージョン
  • 詳細な復元ログ
  • MTR または Fiddler のトレース (下記参照)
  • 地理的地域
  • コンピューターがプロキシとファイアウォールのどちらの背後にあるのか?
  • コンピューターがクラウド プロバイダーのデータ センター (Azure、AWS など) に配置されているか? 配置されている場合は、プロバイダーの名前とリージョン指定してください。

MTR をキャプチャするには:

  • WinMTR をダウンロードします。

  • ホスト名として「api.nuget.org」を入力して、[開始] をクリックします。

  • [送信] 列が 100 以上になるまで待ちます。

    MTR のキャプチャ

  • クリップボードにテキストをコピーします。

Fiddler をキャプチャするには:

  • 最新バージョンの Fiddler をインストールします。
  • Fiddler を起動し、[ファイル] > [Capture Traffic](トラフィックのキャプチャ) メニューを使用してトラフィックのキャプチャを無効にします。
  • すべてのセッションを削除します (リストのすべての項目を選択して、Delete キーを押します)。
  • [ツール] > [Fiddler Options...](Fiddler オプション...) メニューの [HTTPS] タブにある [Decrypt HTTPS traffic] (HTTPS トラフィックの暗号化解除) をチェックして、HTTPS トラフィックをキャプチャするように Fiddler を構成します。
  • Visual Studio を閉じます。
  • [ファイル] > [Capture Traffic](トラフィックのキャプチャ) メニューを有効にします。
  • Visual Studio または nuget.exe を起動して、機能していないアクションを実行します。 これらのアクションによって生成されるトラフィックは Fiddler に表示されます。
  • アクションが実行されたら、[ファイル] > [保存] > [すべてのセッション] を使用して、キャプチャされたセッションを保存します。

注: Fiddler を介して NuGet トラフィックをルーティングするために、HTTP_PROXY 環境変数を http://127.0.0.1:8888 に設定する必要がある場合があります。

これが失敗した場合は、この StackOverflow の投稿に記載されているヒントを試してください。

NuGet.org のアカウント管理

NuGet.org のパスワード ログインを復旧するにはどうすればよいですか?

NuGet.org パスワードログインは廃止されていますのでご注意ください。 残念ながら、NuGet.org ではパスワード アカウントを回復する方法を提供していません。NuGet.org にログインするには、個人の Microsoft アカウント (MSA) または Azure Active Directory (AAD) アカウントを使用する方法しかありません。

Microsoft ログインを使用できない場合は、手順に従って NuGet.org アカウントを回復してください

パッケージの所有権を別のアカウントに譲渡する際にサポートが必要な場合は、support@nuget.org に電子メールを送信してお知らせください。

どの Microsoft アカウントが自分の NuGet.org アカウントにリンクされていますか?

どの Microsoft アカウントがご自分の NuGet.org アカウントに関連付けられているか忘れてしまった場合は、次の手順に従ってサポートを受けることができます。

  1. NuGet.org ログイン ページに移動して、[Need assistance signing in?]\(サインイン サポートが必要ですか?\) リンクをクリックします。
  2. サポートのためのポップアップ ダイアログ ボックスが表示されます。 このダイアログ ボックスの手順に従って、ご自分の NuGet.org アカウントに関連付けられている Microsoft アカウントを確認します。

NuGet.org のログインに使用している Microsoft アカウントを変更するにはどうすればよいですか?

NuGet.org ユーザーの Microsoft アカウントを変更する場合は、次の手順に従います。 メール アドレス account1@outlook.com を持つ Microsoft アカウントが、ユーザー名 MyNuGetAccount を持つ NuGet.org アカウントに関連付けられているとします。 ログインをメール アドレス account2@outlook.com を持つ別の Microsoft アカウントに変更するとします。

  1. [Sign in with Microsoft]\(Microsoft アカウントでサインイン\) をクリックしてから、ログイン ページ現在関連付けられている Microsoft アカウント (account1@outlook.com) を使用してサインインしてください。

  2. ログインしたら、アカウント設定ページに移動します。

  3. [ログイン アカウント] セクションを展開します。 [アカウントの変更] ボタンをクリックします。

  4. Microsoft のログイン ページにリダイレクトされます。 関連付けを account2@outlook.com に変更するアカウントでサインインしてください。: 別の Microsoft アカウントでログインできるようにするには、サインイン フロー中に [Sign out and sign in with different account](サインアウトして別のアカウントでサインインする) をクリックする必要がある場合があります。

  5. 次のようなエラーが表示された場合は、「別の NuGet.org アカウントにリンクされている Microsoft アカウント」で詳細をご覧ください。

    'account2 account2@outlook.com' で Microsoft アカウントの更新に失敗しました。 これは、このアカウントが別の NuGet アカウントに既にリンクされている場合に発生する場合があります。 詳細についてはサポートにお問い合わせください。

  6. 2 番目のアカウントで正常にサインインすると、元の NuGet.org アカウント設定ページにリダイレクトされます。ここには、ログイン アカウントとして関連付けられた新しい Microsoft アカウントが表示されているはずです。 今後は、NuGet.org にサインインするときに、このアカウントを使用する必要があります。

Microsoft アカウントが別の NuGet.org アカウントにリンクされています。

Microsoft ログインを変更しようとすると、次のエラーが表示されました。

'account2 account2@outlook.com' で Microsoft アカウントの更新に失敗しました。 これは、このアカウントが別の NuGet アカウントに既にリンクされている場合に発生する場合があります。 詳細についてはサポートにお問い合わせください。

ユーザー名が MyNuGetAccount1 の NuGet.org ユーザーの Microsoft アカウント ログインを account1@outlook.com から、メール アドレスが account2@outlook.com の Microsoft アカウントに変更しようとしたとします。 すると、上記のエラーが表示されます。

** 上記のエラーはどのような意味ですか?

このエラーは、変更しようとしている変更先の Microsoft アカウントに関連付けられている別の NuGet.org アカウントがあることを意味しています。上記の例では、メール アドレスが <account2@outlook.com> の Microsoft アカウントが、たとえば、ユーザー名 MyNuGetAccount2 を持つ別の NuGet.org アカウントに関連付けられています。

別の NuGet.org アカウントにリンクされている Microsoft アカウントに関連付けられたログインを変更することはできません。

自分が別の NuGet.org アカウント持っていたことを忘れてしまいした。それがどの NuGet.org アカウントだったかを見つけるにはどうしたらよいですか?

ログイン ページで、2 番目の Microsoft アカウントを使ってログインします。 これにより 2 番目の Microsoft アカウントに現在関連付けられている NuGet.org アカウントにログインします。 次に、アップロードされたパッケージを表示して、このアカウントでアカウント管理を実行できます。

この 2 番目の NuGet.org アカウントには関心がありませんが、最初の NuGet.org アカウントのログインを 2 番目の Microsoft アカウントで変更したいのですが、 どうすればよいですか。

2 番目の NuGet.org アカウントに関心はないが、メール アドレス account2@outlook.com を持つ関連付けられた Microsoft アカウントを再利用したい場合、

NuGet.org アカウントを削除して、Microsoft アカウントと NuGet.org アカウント間の関連付けを解放することができます。

  1. 2 番目の NuGet.org アカウント MyNuGetAccount2ユーザーを削除する手順に従います。
  2. このアカウントを削除すると、Microsoft アカウント ログインの変更手順を再試行できます。

この 2 番目のアカウントにも関心があります。 このアカウントを失わずに、最初のアカウントの関連付けられているアカウント ログインを変更するにはどうすればよいですか。

たとえば、メール アドレスが account3@outlook.com の 3 番目の Microsoft アカウントを作成または使用する必要があります。

  1. まず、NuGet.org で 2 番目の Microsoft アカウント account2@outlook.com を使ってログインします。上記の手順に従って、関連付けられているログインを変更し、3 番目の Microsoft アカウントをこの NuGet.org アカウントに関連付けます。
  2. 完了すると、メール アドレス account2@outlook.com を持つ 2 番目の Microsoft アカウントが解放され、最初の NuGet.org アカウント MyNuGetAccount1 に関連付けることができます。 上記の同じ手順に従って、Microsoft ログインを 2 番目の Microsoft アカウントに変更します。

Microsoft アカウントでサインインすると、自分のメール アドレスが別の Microsoft アカウントにリンクされていることが示されます

たとえばメール アドレス account1@outlook.com を持つ Microsoft アカウントでサインインしようとすると、次のようなエラーが表示されます。

メール アドレス 'account1@outlook.com' を持つアカウントは別の Microsoft アカウントにリンクされています。

リンクされている Microsoft アカウントを更新したい場合は、アカウント設定ページから実行することができます。

上記のエラーはどのような意味ですか?

NuGet.org でアカウントが作成されると、そのアカウントに関連付けられた通信用のメール アドレスがあります。 これは通常、関連付けられた Microsoft アカウントに使用されているメール アドレスと同じです。 ただし、通信用に別のメール アドレスを指定することもできます。 そのため、技術的には、account1@outlook.com として通信用のメール アドレスを持つ NuGet.org アカウントにリンクされている、たとえば account2@outlook.com を持つ別の Microsoft アカウントを持つことができます。

したがって上記のエラーは、通信用のメール アドレス account1@outlook.com を持つ NuGet.org アカウントが既に存在しているが、account1@outlook.com 以外のメール アドレスを持つ別の Microsoft アカウントに関連付けられていることを意味します。

この NuGet.org アカウントにリンクされているのがどの Microsoft アカウントかを調べるにはどうしたらよいですか?

どの Microsoft アカウントがメール アドレス account1@outlook.com を持つ NuGet.org アカウントにリンクされているかを調べるには、サインイン アシスタンス フローを使用する必要があります。

Microsoft ログインを使用できません。NuGet.org アカウントを回復するにはどうすればよいですか。

サインイン アシスタンスを使用しようとして、NuGet.org アカウントに関連付けられている Microsoft アカウントへのアクセス権がなかった場合は、Microsoft アカウント サポートにお問い合わせください。

自分の NuGet.org アカウントを組織に変換するにはどうすればよいですか?

ご自身のアカウントを組織に変換する場合は、「NuGet.org での組織」のドキュメントに記載されている手順に従ってください。

アンマネージド テナントでの AAD アカウントの NuGet.org ログイン問題とは何ですか?

ご自分のメール アカウント ドメイン (@yourdomain.com) を使用したログイン フロー中に次のようなエラーが表示された場合は、NuGet.org アカウントを復旧する次の手順を参照してください。

AAD アカウントのログイン中のエラー

ログイン時のこの管理対象外の状態は何ですか? なぜ今、これが発生するのでしょうか?

ご使用のアカウントは、以前に個人の Microsoft アカウントとして登録され、正常に機能していたようですが、現在、このアカウントは Azure Active Directory (Microsoft アカウントを認証するために使用する ID サービス) で "管理対象外" テナントとして登録されているようです。

これは、自分または組織内の (@yourdomain.com のメール アドレスを持つ) ユーザーが AAD 統合サービスのいずれかに登録するか、Azure Active Directory のセルフサービス サインアップを行った場合に発生する可能性があります。これらの操作により、使用した Microsoft アカウント ドメイン (ご自身の @yourdomain.com) に対してこのような "管理対象外" テナントが作成されるからです。

自分のアカウントを復旧するにはどうすればよいですか?

現時点では、NuGet.org では、Azure Active Directory でこのような "アンマネージド" テナント アカウントを持つアカウントを認証する方法はありません。 このようなアカウントを認証するためのよりよい方法を模索しています。

ご自分の Microsoft アカウント (@yourdomain.com) を使用して NuGet.org にログインする場合は、ご自分で (または会社の管理者が) メール アドレス "@yourdomain.com" を持つユーザーを認証するための DNS 検証を行うことで、AAD の所有権を要求する必要があります。 Azure Active Directory で文書化されているドメイン管理者の引き継ぎ手順に従ってください。 これが完了すると、通常のログインが機能し始めるはずです。

NuGet.org アカウントのユーザー名を変更するにはどうすればよいですか?

ユーザー名の変更を要求するには、更新するアカウントに関連付けられているメール アドレスから support@nuget.org 宛てにメールを送信します。 変更する古いユーザー名と新しいユーザー名を必ず含めてください。 その後、当社が要求を確認し、承認が得られたら、行おうとしているアクションが正しいことと、その影響を理解していることをお客様に確認します。 確認が得られると、ユーザー名が変更されます。

重要

  • 古いユーザー名は引き続き予約済みの状態となります。 古いユーザー名をもう一度再利用することはできません。これには大文字/小文字の変更も含まれます
  • 上記の結果として、この変更も元に戻すことはできません。
  • 古いユーザー名プロファイル ページへのリンク (例: https://www.nuget.org/profiles/OldUsername) は、新しいプロファイルにリダイレクトされません。
  • 現在アカウントが所有しているパッケージ バージョンのリポジトリ署名には、古いユーザー名が引き続き含まれます。 新しいパッケージ バージョンには、新しいユーザー名が含まれます。
  • 古いユーザー名またはその他の識別情報を参照する、既存のパッケージ バージョンの作成者が指定したメタデータは変更されません。
  • 古いユーザー名の信頼をアサートする NuGet クライアント ポリシーは、新しいユーザー名によって公開されたパッケージを暗黙的に信頼しません。 これらのクライアント ポリシーが構成されているパッケージ コンシューマーは、新しく公開されたパッケージ バージョンに更新するときに、新しいユーザー名を信頼するように手動で更新する必要があります。

NuGet.org アカウントを削除するにはどうすればよいですか?

アカウントを削除するには、ご自分が唯一の所有者である任意のパッケージの所有権を委譲することをお勧めします。 この方法の詳細については、パッケージ所有者を管理するをご覧ください。 これは Microsoft がお客様からの要求に迅速に対応するのにも役立ちます。

ご利用のアカウントを組織に変換する場合は、自分の NuGet.org アカウントを組織に変換に関するセクションに記載されている手順に従ってください。

重要

ユーザーを削除すると、次のことが発生します。

  1. お客様のユーザー名は予約され、誰もこれを再利用して個人のアカウントまたは組織アカウントを作成することはできなくなります
  2. 関連付けられている API キーが取り消されます。
  3. 任意の子パッケージの所有者として、アカウントが削除されます。
  4. このアカウントに以前から存在するすべての ID プレフィックス予約の関連付けが解除されます。
  5. 任意の組織のメンバーとしてアカウントが削除されます。

アカウントの削除を続行するには、次の手順に従います。

  1. 削除するアカウントを使用して NuGet.org にログインします。
  2. この URL (https://www.nuget.org/account/delete) をクリックして、アカウントを削除するための要求を送信する手順に従います。

Microsoft のカスタマー サポートがこの要求を処理し、アカウントの削除を実行します。

Microsoft アカウントが削除されると、NuGet.org アカウントはどうなりますか。

nuget.org アカウントへのサインインに使用する Microsoft アカウントまたは Azure Active Directory アカウントが削除されると、nuget.org アカウントも削除されます。 アカウント削除操作は、Microsoft アカウントの削除日から 30 日以内に、nuget.org カスタマー サポートによって行われます。

お客様のアカウントに関連付けられたパッケージがある場合は、削除を始める 3 営業日前にお客様に通知し、それらのパッケージを別の nuget.org アカウントに転送するためのサポートを提供します。