Как создать предварительный пакет Nuget, используя номер версии из сборки
Поскольку вы пытаетесь упаковать приложение .netstandard 2.0
, мы можем использовать dotnet pack
, версия извлекается из определения проекта (ранее project.json
, сейчас *.csproj
), а не сборки AssemblyInfo.cs
.
Из проекта . json в csproj миграция документы Вы можете использовать свойства VersionPrefix
и VersionSuffix
в файле проекта .csproj
:
<PropertyGroup>
<VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix>alpha</VersionSuffix>
</PropertyGroup>
По вашему запросу:
if the assembly version is 1.0.0 i need a package that is 1.0.0-alpha and later 1.0.0 when its moved to production
Чтобы решить эту проблему, я установил значение VersionSuffix
равное null
, то есть:
<PropertyGroup>
<VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix></VersionSuffix>
</PropertyGroup>
Затем мы используем DotNetCoreCLI
custom d onet задача вместо nuget pack
задача с аргументом --version-suffix "alpha"
:
Результат:
В этом случае мы можем сгенерировать версию пакета 1.0.0-alpha
, когда версия сборки 1.0.0
.
С другой стороны, мы могли бы удалить аргумент --version-suffix "alpha"
, когда он перемещен к производству:
Теперь, это должно быть все, что вы хотите.
Надеюсь, это поможет.