Во-первых, с подстановочными знаками в версиях сборки и пакета:
Не рекомендуется использовать подстановочный знак для версий сборки (не пакета) - новое значение по умолчанию для проектов "sdk-style" использует функцию компилятора под названием ""детерминированная сборка", целью которой является создание двоичного идентичного вывода для каждого компиляции одного и того же неизмененного исходного кода.Этот режим не позволяет использовать подстановочные знаки в сборочных версиях, которые будут меняться каждые 2 секунды.
Однако эту функцию можно отключить, установив
<PropertyGroup>
<Deterministic>False</Deterministic>
</PropertyGroup>
Если затем использовать подстановочный знак вВ вашей версии сборки компилятор обновит вашу версию на основе текущего времени.
Чтобы повторно использовать эту версию сборки для версии пакета, вам необходимо добавить дополнительную логику сборки в файл проекта, как описано здесь: MSBuild / t: pack Nuget-Package всегда имеет одну и ту же версию
Что я рекомендую сделать:
Многие проекты используют свою историю git для управления версиями, увеличиваяверсия, основанная на подсчете коммитов git.
Я предлагаю рассмотреть такие инструменты, как Nerdbank.GitVersioning (легкий и простой в использовании) или GitVersion (больше возможностей и лучшая документация), которые позволяют вам настроить автоматическое получение ваших версий из создаваемых веток / тегов.