В Visual Studio 2019
Мне не хватило добавления
[assembly: AssemblyVersion("1.0.*")]
При сборке выдает эту ошибку
Указанная строка версии не соответствует требуемому формату
Решение
Формат был окончательно принят после того, как я установил Deterministic
на False
в project.csproj
<Deterministic>false</Deterministic>
Edit:
По какой-то причине установка Deterministic
в False
испортила мой конфигурационный файл, загрузив его и сохранив в разных местах.
Обход:
Я установил событие после сборки, чтобы увеличить номер редакции:
Пакетный сценарий событий после сборки
Это вызывает скрипт powershell с именем autoincrement_version.ps1
, передающий в качестве аргумента путь AssemblyInfo.cs
if $(ConfigurationName) == Release (
PowerShell -ExecutionPolicy RemoteSigned $(ProjectDir)autoincrement_version.ps1 '$(ProjectDir)My Project\AssemblyInfo.cs'
)
скрипт Poweshell
Он автоматически увеличивает номер ревизии с помощью Regex
param( [string]$file );
$regex_revision = '(?<=Version\("(?:\d+\.)+)(\d+)(?="\))'
$found = (Get-Content $file) | Select-String -Pattern $regex_revision
$revision = $found.matches[0].value
$new_revision = [int]$revision + 1
(Get-Content $file) -replace $regex_revision, $new_revision | Set-Content $file -Encoding UTF8