パッケージ作成ワークフローPackage creation workflow

パッケージの作成はコンパイル済みコード (通常は .NET アセンブリ) から始めます。このコードはパッケージ化して、パブリック nuget.org ギャラリーまたは組織内のプライベート ギャラリーを通じて他のユーザーと共有します。Creating a package starts with the compiled code (typically .NET assemblies) that you want to package and share with others, either through the public nuget.org gallery or a private gallery within your organization. パッケージには、パッケージのインストール時に表示される Readme などの追加ファイルを含めることができます。また、特定のプロジェクト ファイルへの変換を含めることもできます。The package can also include additional files such as a readme that is displayed when the package is installed, and can include transformations to certain project files.

パッケージは、独自のコードを含めずに、任意の数の他の依存関係にプルする場合にも対応できます。A package can also serve to only pull in any number of other dependencies, without containing any code of its own. このようなパッケージは、複数の独立したパッケージで構成される SDK を配信する便利な方法です。Such a package is a convenient way to deliver an SDK that's composed of multiple independent packages. その他の場合、パッケージにはデバッグを支援するシンボル (.pdb) ファイルのみを含めることができます。In other cases, a package may contain only symbol (.pdb) files to aid debugging.

注意

他の開発者が使用するパッケージを作成する場合は、他の開発者が自分の作業に依存していることを理解することが重要です。When you create a package for use by other developers, it's important to understand that they are taking a dependency on your work. したがって、パッケージの作成と発行は、バグの修正とその他の更新を行うことへのコミットメントも意味します。また、容易に保持できるように、少なくともパッケージをオープン ソースとして使用できるようにすることへのコミットメントも意味します。As such, creating and publishing a package also implies a commitment to fixing bugs and making other updates, or at the very least making the package available as open source so others can help to maintain it.

どのような場合でも、パッケージの作成は、その識別子、バージョン番号、ライセンス、著作権情報、およびその他の必要なコンテンツを決定することから始まります。Whatever the case, creating a package begins with deciding its identifier, version number, license, copyright information, and any other necessary content. 完了したら、"pack" コマンドを使ってそれらすべてを 1 つの .nupkg ファイルにまとめることができます。Once done, you can use the "pack" command to put everything together into a .nupkg file. このファイルは、nuget.org などの NuGet フィードに公開することができます。This file can be published to a NuGet feed, like nuget.org.

ヒント

.nupkg 拡張子を持つ NuGet パッケージは単なる ZIP ファイルです。A NuGet package with the .nupkg extension is simply a ZIP file. パッケージの内容を簡単に確認するには、拡張子を .zip に変更し、その内容を通常どおり展開します。To easily examine any package's contents, change the extension to .zip and expand its contents as usual. 念のため、ホストへのアップロードを試行する前に拡張子を .nupkg に戻してください。Just be sure to change the extension back to .nupkg before attempting to upload it to a host.

作成プロセスを学習して理解するために、まず、「Creating a package」 (パッケージの作成) を参照してください。ここでは、すべてのパッケージに共通の中核となるプロセスについて説明されています。To learn and understand the creation process, start with Creating a package which guides you through the core processes common to all packages.

そこから、パッケージの他の多くのオプションを検討することができます。From there, you can consider a number of other options for your package:

  • Supporting Multiple Target Frameworks」 (複数のターゲット フレームワークのサポート) では、さまざまな .NET Framework の複数のバリアントを含むパッケージを作成する方法が説明されています。Supporting Multiple Target Frameworks describes how to create a package with multiple variants for different .NET Frameworks.
  • Creating Localized Packages」 (ローカライズされたパッケージの作成) では、複数の言語リソースを含むパッケージを構築する方法と、個別のローカライズされたサテライト パッケージを使用する方法が説明されています。Creating Localized Packages describes how to structure a package with multiple language resources and how to use separate localized satellite packages.
  • Pre-release Packages」 (プレリリース パッケージ) では、アルファ、ベータ、rc パッケージをそれらに関心のあるユーザー向けにリリースする方法が示されています。Pre-release Packages demonstrates how to release alpha, beta, and rc packages to those customers who are interested.
  • Source and Config File Transformations」 (ソースと構成ファイルの変換) では、プロジェクトに追加されたファイルでの一方向のトークン置換を実行する方法と、パッケージのアンインストール時に取り消すこともできる設定を使用して web.configapp.config を変更する方法が説明されています。Source and Config File Transformations describes how you can do both one-way token replacements in files that are added to a project, and modify web.config and app.config with settings that are also backed out when the package is uninstalled.
  • Symbol Packages」 (シンボル パッケージ) では、コンシューマーがデバッグ時にコードにステップ インできるように、ライブラリでシンボルを提供するためのガイダンスが提供されています。Symbol Packages offers guidance for supplying symbols for your library that allow consumers to step into your code while debugging.
  • Package versioning」 (パッケージのバージョン管理) では、依存関係 (自分のパッケージから利用する他のパッケージ) がある場合に使用できる正確なバージョンを特定する方法が説明されています。Package versioning discusses how to identify the exact versions that you allow for your dependencies (other packages that you consume from your package).
  • Native Packages」 (ネイティブ パッケージ) では、C++ コンシューマー用のパッケージの作成プロセスが説明されています。Native Packages describes the process for creating a package for C++ consumers.
  • Signing Packages」(パッケージの署名) では、パッケージにデジタル署名を追加するプロセスが説明されています。Signing Packages describes the process for adding a digital signature to a package.

nuget.org にパッケージを発行する準備ができたら、「Publish a package」 (パッケージの発行) の簡単なプロセスに従います。When you're then ready to publish a package to nuget.org, follow the simple process in Publish a package.

nuget.org ではなくプライベート フィードを使用する場合は、パッケージのホスティングの概要に関するページを参照してください。If you want to use a private feed instead of nuget.org, see the Hosting Packages Overview