注
Unix を使用したコマンド ライン サンプルを次に示します。 次に示すように、 dotnet pack
コマンドは Windows でも同じように動作します。
.NET Standard ライブラリと .NET Core ライブラリは、NuGet パッケージとして配布される予定です。 これは実際には、すべての .NET Standard ライブラリが分散され、使用される方法です。 これは、 dotnet pack
コマンドを使用して最も簡単に実行できます。
NuGet に配布する素晴らしい新しいライブラリを作成したとします。 クロスプラットフォーム ツールを使用して NuGet パッケージを作成して、それを正確に行うことができます。 次の例では、を対象とする netstandard1.0
というライブラリを想定しています。
推移的な依存関係 (つまり、別のパッケージに依存するプロジェクト) がある場合は、NuGet パッケージを作成する前に、 dotnet restore
コマンドを使用してソリューション全体のパッケージを復元してください。 これを行わないと、 dotnet pack
コマンドが正常に動作しなくなります。
復元を必要とするすべてのコマンド (dotnet restore
、dotnet new
、dotnet build
、dotnet run
、dotnet test
、dotnet 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 パッケージを生成するためのものではありません。
こちらも参照ください
.NET