Если вы собираете и публикуете проект с помощью сервера сборки и управляете версией с помощью Git, вы можете попробовать задачу Msbuild GitVersion . Подобную проблему смотрите здесь .
Но если вы просто хотите чистую сборку и публикацию в локальной VS без использования Git, то я боюсь, что пока нет опции VS или MsbuildЗадача поддерживает это поведение. Вы можете DC предложить функцию, потому что это значимая идея, но в настоящее время она недоступна.
Кроме того, подсказки Martin и Alexandre , вы можете добавить этот скрипт в xx.csproj:
<PropertyGroup>
<GenerateNuspecDependsOn>$(GenerateNuspecDependsOn);SetPackageVersion</GenerateNuspecDependsOn>
</PropertyGroup>
<Target Name="SetPackageVersion" DependsOnTargets="Build">
<PropertyGroup>
<!--<PackageVersion>$([System.DateTime]::Now.ToString("yyyy.MM.dd.HHmmss"))</PackageVersion>-->
<!--You can customize the format and the rule about how version increases here.-->
<PackageVersion>$([System.DateTime]::Now.ToString("1.MM.dd"))</PackageVersion>
</PropertyGroup>
</Target>
Тогда, когда вы публикуете пакет сегодня, его версия - 1.10.4. Завтра для 1.10.5 это работает, если вам не нужно публиковать разные версии одного пакета в день. Также вы можете настроить скрипт для определения своего правила увеличения версии. Может ли это помочь:)
Если вы нацелены на несколько каркасов, см. Сборка проекта с несколькими targetframeworks в tfs как пакет nuget
Это работает при установке версии сборки на подстановочный.
<Deterministic>false</Deterministic>
<AssemblyVersion>3.0.*</AssemblyVersion>