「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
NuGetパッケージを作成してみたくなったので調査。
[Install NuGet]
latest nuget.exe - all downloads - documentation
<?xml version="1.0"?> <package > <metadata> <id>$id$</id> <version>$version$</version> <title>$title$</title> <authors>$author$</authors> <owners>$author$</owners> <licenseUrl>http://LICENSE_URL_HERE_OR_DELETE_THIS_LINE</licenseUrl> <projectUrl>http://PROJECT_URL_HERE_OR_DELETE_THIS_LINE</projectUrl> <iconUrl>http://ICON_URL_HERE_OR_DELETE_THIS_LINE</iconUrl> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>$description$</description> <releaseNotes>Summary of changes made in this release of the package.</releaseNotes> <copyright>Copyright 2017</copyright> <tags>Tag1 Tag2</tags> </metadata> </package>
それぞれの項目については下記を参照。
このnuspec.xsdをVisual Studioで確認するとSchemeの詳細が解るらしい。
# | 要素 | 説明 |
1 | id | 大文字と小文字を区別しない、nuget.orgなどのパッケージ・ギャラリー内で一意なパッケージ識別子。 IDにはURLに有効でないスペースや文字含めない。 |
2 | version | major.minor.patchパターンのパッケージのバージョン。 バージョン番号には、プレリリースパッケージに記載されているリリース前のサフィックスが含まれている場合があります。 |
3 | description | UI表示用のパッケージの詳細な説明。 |
4 | authors | nuget.orgのプロファイル名と一致するパッケージ作成者のカンマ区切りのリスト。 これらはnuget.orgのNuGet Galleryに表示され、同じ著者によるパッケージの相互参照に使用されています。 |
# | 要素名 | 説明 |
1 | title | パッケージには、一般的にはUIで使用される、パッケージの人間にとって使いやすいタイトルがnuget.orgやVisual Studioのパッケージマネージャで表示されます。 指定しない場合、パッケージIDが代わりに使用されます。 |
2 | owners | nuget.orgでプロファイル名を使用しているパッケージ作成者のカンマ区切りのリスト。 これはしばしば著者と同じリストであり、パッケージをnuget.orgにアップロードするときは無視されます。 nuget.orgのパッケージオーナーの管理を参照してください。 |
3 | projectUrl | パッケージのホームページのURL。 多くの場合、UI表示とnuget.orgに表示されます。 |
4 | licenseUrl | パッケージのライセンスのURL。 nuget.orgと同様にUI表示にも表示されることがよくあります。 |
5 | iconUrl | UI表示でパッケージのアイコンとして使用する透過背景を持つ64x64画像のURL。 |
6 | requireLicenseAcceptance? | パッケージをインストールする前に、パッケージライセンスを受け入れるようにクライアントに指示する必要があるかどうかを指定するブール値。 |
7 | developmentDependency | (2.8+)パッケージが開発専用依存としてマークされるかどうかを指定するブール値。 パッケージが他のパッケージへの依存として含まれないようにします。 |
8 | summary | UI表示用のパッケージの短い説明。 省略された場合、記述の切り詰められたバージョンが使用されます。 |
9 | releaseNotes | (1.5+)このパッケージのリリースで行われた変更の説明。 パッケージ説明の代わりにVisual Studioパッケージマネージャの[更新]タブなどのUIでよく使用されます。 |
10 | copyright | (1.5+)パッケージの著作権詳細。 |
11 | language | パッケージのロケールID。 ローカライズされたパッケージの作成を参照してください。 |
12 | tags | パッケージを記述するタグとキーワードのスペース区切りリストで、 検索とフィルタリングのメカニズムを通じたパッケージの発見可能性を支援します。 |
13 | serviceable | (3.3+)内部NuGet専用 |
14 | minClientVersion? | (2.5+)このパッケージをインストールできるNuGetクライアントの最小バージョンを指定します。 このバージョンは、nuget.exeとVisual Studio Package Managerによって適用されます。 これは、パッケージがNuGetクライアントの特定のバージョンで追加された.nuspecファイルの特定の機能に依存する場合に使用されます。 例えば、developmentDependency属性を使用するパッケージは、minClientVersion?に「2.8」を指定します。 同様に、contentFiles要素を使用するパッケージ(次のセクションを参照)は、minClientVersion?を "3.3"に設定します。 また、2.5より前のNuGetクライアントはこのフラグを認識しないため、minClientVersion?で使用する値に関係なく、常にパッケージのインストールを拒否します。 |
# | 要素名 | 説明 |
1 | packageTypes | (3.3+)伝統的な依存パッケージ以外のパッケージのタイプを指定する0個以上の<packageType>要素の集合。 各packageTypeにはnameとversionの属性があります。パッケージタイプの設定を参照してください。 |
2 | dependencies | パッケージの依存関係を指定する0個以上の<dependency>要素の集合。 各依存関係には、id、version、include(3.x +)、およびexclude(3.x +)の属性があります。 下記の依存関係を参照してください。 |
3 | frameworkAssemblies | (1.2+)このパッケージに必要な.NET Frameworkアセンブリ参照を識別する0個以上の<frameworkAssembly>要素のコレクション。 パッケージを使用するプロジェクトに参照が確実に追加されます。 各frameworkAssemblyにはassemblyName属性とtargetFramework属性があります。 下記のフレームワークアセンブリ参照GACの指定を参照してください。 |
4 | references | (1.5+)プロジェクトの参照として追加される、パッケージのlibフォルダ内のアセンブリを命名する0個以上の<reference>要素のコレクション。 各参照にはファイル属性があります。 <references>は、<reference>要素を含むtargetFramework属性を持つ<group>要素も含むことができます。 省略すると、libのすべての参照が含まれます。 下記の明示的アセンブリ参照の指定を参照してください。 |
5 | contentFiles | (3.3+)コンシューマプロジェクトに含めるコンテンツファイルを識別する<files>要素のコレクション。 これらのファイルは、プロジェクトシステム内でどのように使用されるべきかを記述する一連の属性で指定されます。 下記のパッケージに含めるファイルの指定を参照してください。 |