新しいSDKベースのプロジェクトシステムを使用して、NuGetとMSBuildが統合されています。現在のところ、VS2017で、このためのプロジェクトテンプレートではありませんが、あなたは、.NET標準ライブラリを作成してに.csproj
ファイルに<TargetFramework>
値を変更することができます。そして、あなたはあなたのライブラリーのバージョン番号を定義する必要があり
<TargetFramework>net462</TargetFramework>
。これは、Version
プロパティーまたはを、組み立て時に組み合わされたVersionPrefix
とVersionSuffix
プロパティーの組み合わせを設定することによって設定できます。 CI-szenariosためには、通常<PropertyGroup>
要素の内側に、あなたの.csproj
ファイルにのみVersionPrefix
値を設定したい:
<VersionPrefix>1.2.3</VersionPrefix>
これはまた、溶液ディレクトリ内のDirectory.Build.props
ファイル内に設定することができますが、単一の場所を持っています一箇所ですべてのプロジェクトのプロパティを設定するには:
<Project>
<PropertyGroup>
<VersionPrefix>1.2.3</VersionPrefix>
</PropertyGroup>
</Project>
またはローカルCIを通じて構築し、コマンドライン経由VersionSuffix
プロパティを設定することができ、dotnet
CLIのpackコマンドは、このための便利なオプションを提供しています:
dotnet pack -c Release --version-suffix SNAPSHOT
開発者コマンドプロンプト経由のMSBuildのVSのバージョンを使用している場合また、同じ結果を達成することができます。
msbuild /t:Pack /p:Configuration=Release /p:VersionSuffix=SNAPSHOT
が現在(VS 2017 15.2、.NET CLI 1.0。*)
、お互いを参照する複数のプロジェクトを持つときのバグです。依存バージョンは指定されたバージョン接尾辞で生成されません。回避策はあります。同じプロパティを使用して梱包する前に復元し、追加を実行します。あなたのCIシステムで
dotnet msbuild "/t:Pack;Restore" /p:Configuration=Release /p:VersionSuffix=SNAPSHOT
あなたは一般的に1.2.3-ci-20170102
ようなバージョンを生成するために、ビルド番号と接尾辞を上書きするか、単になどSNAPSHOT
/PREVIEW
を生成します。パッケージ。
msbuildはスクリプト作成が可能なので、csproj
ファイルを拡張して、いくつかの条件が満たされた場合に自動的にバージョンサフィックスを設定することもできます。誤ってデバッグビルドを公開しないように、常にデバッグビルドのサフィックスを生成してください。
<VersionSuffix Condition=" '$(Configuration)' != 'Release' ">SNAPSHOT</VersionSuffix>
ありがとうございます。私たちは、ネクサスレポの問題のために私たちのポップを拡張することはできません。一度ソートするとこの解決策を試してみます。 –