pack コマンド
概要
エクステンションをパッケージ化します。
書式
NDExt pack [options]
オプション
オプション | 引数 | 意味 |
---|---|---|
-p, --project | <project> | 対象プロジェクトのディレクトリを指定します。未指定の場合は現在のディレクトリ以下を探索して実行します。 |
-v, --ndver | <ndver> | 動作の対象となるNext Designのバージョンです。未指定の場合は 3.1 です。 |
-c, --config | <config> | ビルド構成を指定します。Debug またはRelease を指定してください。未指定の場合はRelease です。 |
-o, --output | <output> | 作成したパッケージの格納フォルダを指定します。未指定の場合は ndpackages です。 |
-d, --copydir | <copydir> | 作成したパッケージを指定フォルダにもコピーします。 |
実行例
次のように実行すると、カレントディレクトリ以下にあるすべてのエクステンションのプロジェクト(.csproj)を探し、ビルドしてパッケージ化します。
c:\myproject\src> ndext pack
pack
コマンドの実行に成功すると出力フォルダにnupkgファイルが作成されます。NuGet Package Explorerでnupkg
ファイルを開くと次のようになっています。
備考
new
コマンドで作成したプロジェクトの pkgContents
フォルダ以下のファイルが、それぞれ profiles, samples, templates の下に配置されます。
作成したパッケージの公開方法および利用方法は、次のページをご覧ください。
パッケージのプロパティ設定
パッケージのプロパティ設定には、csprojファイルの情報を利用します。
これらの情報はVisual Studioを利用している場合、プロジェクトのプロパティの「パッケージ」タブで設定できます。下記は入力必須の情報です。
設定項目 | csproj上のXMLタグ | 説明 |
---|---|---|
パッケージID | PackageId | パッケージを区別する一意の名前です。"MyCompany.SomePackage"のように指定します。 |
パッケージの説明 | Description | パッケージの説明に利用します。任意の文字列となります。 |
バージョン | Version | パッケージを識別するバージョンとして利用します。 “1.0.0”などになります。 |
作成者 | Authors | パッケージの作成者の情報です。会社名等を入力してください。 |
その他、Copyright
、PackageProjectUrl
を指定することでパッケージに情報を設定できます。
エクステンションのcsprojファイルの例
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<PackageId>SampleExt</PackageId>
<Version>1.0.0</Version>
<PackageProjectUrl>https://www.your-web-here.com/</PackageProjectUrl>
<Authors>Me</Authors>
<Company>Me</Company>
<Product>SampleExt</Product>
<Description>ここからSampleExtの説明を記載して下さい。</Description>
<Copyright>(Copyright Here)</Copyright>
</PropertyGroup>
...
</Project>
上記のプロジェクトファイル(csproj)に対して、pack
コマンド実行した場合、次のようなnuspecファイルが生成されます。
生成されたnuspecファイル
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>SampleExt</id>
<version>1.0.0</version>
<authors>Me</authors>
<owners>Me</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<projectUrl>https://www.your-web-here.com/</projectUrl>
<Description>ここからSampleExtの説明を記載して下さい。</Description>
<releaseNotes></releaseNotes>
<copyright>(Copyright Here)</copyright>
</metadata>
</package>