次の方法で共有


.NET CLI を使用して NuGet パッケージを作成する方法

Unix を使用したコマンド ライン サンプルを次に示します。 次に示すように、 dotnet pack コマンドは Windows でも同じように動作します。

.NET Standard ライブラリと .NET Core ライブラリは、NuGet パッケージとして配布される予定です。 これは実際には、すべての .NET Standard ライブラリが分散され、使用される方法です。 これは、 dotnet pack コマンドを使用して最も簡単に実行できます。

NuGet に配布する素晴らしい新しいライブラリを作成したとします。 クロスプラットフォーム ツールを使用して NuGet パッケージを作成して、それを正確に行うことができます。 次の例では、を対象とする netstandard1.0 というライブラリを想定しています。

推移的な依存関係 (つまり、別のパッケージに依存するプロジェクト) がある場合は、NuGet パッケージを作成する前に、 dotnet restore コマンドを使用してソリューション全体のパッケージを復元してください。 これを行わないと、 dotnet pack コマンドが正常に動作しなくなります。

復元を必要とするすべてのコマンド (dotnet restoredotnet newdotnet builddotnet rundotnet testdotnet publish など) によって暗黙的に実行されるため、dotnet pack を実行する必要がなくなりました。 暗黙的な復元を無効にするには、--no-restore オプションを使用します。

dotnet restoreなどの、明示的な復元が意味のある一部のシナリオや、復元が行われるタイミングを明示的に制御する必要があるビルド システムでは、dotnet restore は引き続き有用なコマンドです。

NuGet フィードの管理方法については、dotnet restore のドキュメントをご覧ください。

パッケージが確実に復元されたら、ライブラリが存在するディレクトリに移動できます。

cd src/SuperAwesomeLibrary

次に、コマンド ラインからの単一のコマンドです。

dotnet pack

/bin/Debug フォルダーは次のようになります。

$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg

これにより、デバッグ可能なパッケージが生成されます。 リリース バイナリを使用して NuGet パッケージをビルドする場合は、 --configuration (または -c) スイッチを追加し、 release を引数として使用するだけです。

dotnet pack --configuration release

これで、/bin フォルダーに、リリース バイナリを含む NuGet パッケージを含むリリース フォルダーが作成されます。

$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg

これで、NuGet パッケージを発行するために必要なファイルが作成されました。

dotnet packと混同しないでくださいdotnet publish

重要なのは、dotnet publishコマンドが一切関係していないことに注意してください。 dotnet publish コマンドは、すべての依存関係を持つアプリケーションを同じバンドルにデプロイするためのものであり、NuGet を介して配布および使用される NuGet パッケージを生成するためのものではありません。

こちらも参照ください