次の方法で共有


dotnet nuget push (パッケージをプッシュするコマンド)

この記事の対象: ✔️ .NET 6 SDK 以降のバージョン

名前

dotnet nuget push - パッケージをサーバーにプッシュし、発行します。

概要

dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output]
    [--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
    [--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
    [-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
    [-t|--timeout <TIMEOUT>]
    [--configfile <FILE>]

dotnet nuget push -h|--help

説明

dotnet nuget push コマンドは、パッケージをサーバーにプッシュして発行します。 プッシュ コマンドは、システムの NuGet 構成ファイルまたは構成ファイルのチェーンにあるサーバーと資格情報の詳細を使用します。 構成ファイルの詳細については、「 NuGet 動作の構成」を参照してください。 NuGet の既定の構成は 、%AppData%\NuGet\NuGet.config (Windows) または $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) を読み込み、ドライブのルートから現在のディレクトリで終わる nuget.config または .nuget\nuget.config を読み込むことで取得されます。

このコマンドは、既存のパッケージをプッシュします。 パッケージは作成されません。 パッケージを作成するには、 dotnet packを使用します。

階層フォルダー構造

このコマンドは、パフォーマンスを最適化するために推奨される階層フォルダー構造にパッケージを格納できます。 階層フォルダー構造にあるパッケージがフィードに既に 1 つ存在する場合、 nuget add のように、ローカル フォルダー (フィード) に発行すると、パッケージが階層フォルダー構造に格納されます。 フィードに階層構造のフォルダー構造パッケージが既に含まれている場合、 dotnet nuget push はその構造を考慮します。 そのため、NuGet CLI の代わりに .NET CLI を使用してローカル フィードに発行する場合は、次のようにします。

  • 最初のパッケージを発行する前に、グローバル パッケージ フォルダー ( .nuget\packages%userprofile%) に移動し、パッケージ ID のルート フォルダーを選択します。.NET Standard や ASP.NET など、フレームワークに含まれていない任意のパッケージを指定できます。
  • 選択したパッケージ フォルダーをローカル フィードのルート フォルダーにコピーします。
  • dotnet nuget pushを使用して、パッケージをローカル フィードに発行します。
  • 以前にコピーしたフォルダーを削除できるようになりました。 dotnet nuget push を自由に使用してローカル フィードに発行できます。

または、最初のパッケージに NuGet CLI を使用してから、残りのパッケージに dotnet nuget push を使用することもできます。 詳細については、「 ローカル フィード」を参照してください。

論争

  • ROOT

    プッシュするパッケージへのファイル パスを指定します。

オプション

  • --allow-insecure-connections

    HTTP ソースへのプッシュを許可します (安全ではありません)。

  • -d|--disable-buffering

    HTTP (S) サーバーにプッシュするときにバッファー処理を無効にして、メモリ使用量を減らします。

  • --force-english-output

    インバリアントの英語ベースのカルチャを使用してアプリケーションを強制的に実行します。

  • -?|-h|--help

    コマンドの使用方法を示した説明を出力します。

  • --interactive

    コマンドを停止して、ユーザーの入力または操作のために待機させることができます。 たとえば、認証を完了する場合があります。

  • -k|--api-key <API_KEY>

    サーバーの API キー。

  • -n|--no-symbols

    (存在する場合でも) シンボルをプッシュしません。

  • --no-service-endpoint

    ソース URL に "api/v2/package" を追加しません。

  • -s|--source <SOURCE>

    サーバー URL を指定します。 NuGet は UNC またはローカル フォルダー ソースを識別し、HTTP を使用してプッシュするのではなく、ファイルをそこにコピーするだけです。

    Von Bedeutung

    NuGet 3.4.2 以降では、NuGet 構成ファイルで DefaultPushSource 値が指定されていない限り、これは必須パラメーターです。 詳しくは、「NuGet の動作の構成」をご覧ください。

  • --skip-duplicate

    複数のパッケージを HTTP(S) サーバーにプッシュする場合、他のプッシュを続行できるように、409 競合応答を警告として扱います。

  • -sk|--symbol-api-key <API_KEY>

    シンボル サーバーの API キー。

  • -ss|--symbol-source <SOURCE>

    シンボル サーバーの URL を指定します。

  • -t|--timeout <TIMEOUT>

    サーバーにプッシュするタイムアウトを秒単位で指定します。 既定値は 300 秒 (5 分) です。 0 を指定すると、既定値が適用されます。

  • --configfile

    使用する NuGet 構成ファイル (nuget.config)。 指定した場合、このファイルの設定のみが使用されます。 指定しない場合、現在のディレクトリからの構成ファイルの階層が使用されます。 詳細については、「一般的な NuGet 構成」をご覧ください。

例示

  • API キーを使用して、NuGet 構成ファイルで指定された既定のプッシュ ソースに foo.nupkg をプッシュします。

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • API キーを指定して、 foo.nupkg を公式の NuGet サーバーにプッシュします。

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • API キーを指定して、 foo.nupkg をカスタム プッシュ ソース https://customsourceにプッシュします。

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • NuGet 構成ファイルで指定された既定のプッシュ ソースに foo.nupkg をプッシュします。

    dotnet nuget push foo.nupkg
    
  • foo.symbols.nupkg を既定のシンボル ソースにプッシュします。

    dotnet nuget push foo.symbols.nupkg
    
  • 360 秒のタイムアウトで、NuGet 構成ファイルで指定された既定のプッシュ ソースに foo.nupkg をプッシュします。

    dotnet nuget push foo.nupkg --timeout 360
    
  • 現在のディレクトリ内のすべての .nupkg ファイルを、NuGet 構成ファイルで指定された既定のプッシュ ソースにプッシュします。

    dotnet nuget push "*.nupkg"
    
  • HTTP(S) サーバーから 409 競合応答が返された場合でも、NuGet 構成ファイルで指定された既定のプッシュ ソースにすべての .nupkg ファイルをプッシュします。

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • 現在のディレクトリ内のすべての .nupkg ファイルをローカル フィード ディレクトリにプッシュします。

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Azure Artifacts へのプッシュについては、 Azure Artifacts のプッシュに関するドキュメントを参照してください