У меня есть решение с проектом Asp.NET Core и проектом WiX, который генерирует MSI для его развертывания на сервере IIS.
В настоящее время всякий раз, когда мы собираем проект, нам необходимо обновлять номера сборки в следующих местах:
- Страница свойств проекта Asp.NET> Вкладка «Пакет»> Версия пакета: xxx
- Страница свойств проекта Asp.NET> Вкладка «Пакет»> версия сборки: xxxx
- Страница свойств проекта Asp.NET> Вкладка «Пакет»> Версия файла сборки: xxxx
- Файл wxs WiX:
Я хочу свести к минимуму количество отдельных правок, необходимых для обновления версии.В идеале я хотел бы только установить версии на странице свойств проекта Asp.NET, и Wix автоматически отразит это изменение.
На основе связанных ответов я смог получить версию WiX, которая будет установлена автоматически путем привязкиэто в AssemblyFileVersion.Однако есть два вопроса с этим решением.В итоге вы получите 4-значный номер версии для MSI, и бог знает, что в конечном итоге задохнется от этого в будущем.Другая проблема заключается в том, что я не хочу связывать свою версию MSI с версией dll (может случиться так, что dll обновляет пакет).
Вот почему я ищу способавтоматически установите версию WiX на версию пакета со страницы свойств Asp.NET.Это решает две вышеупомянутые проблемы, так как этот номер версии может быть установлен на 3 цифры, и это также не связано с версиями файла dll.Как мне это сделать?Версия пакета хранится в файле Asp.NET csproj следующим образом (это тег 1.0.2):
<PropertyGroup>
...
<Version>1.0.2</Version>
<AssemblyVersion>1.0.0.2</AssemblyVersion>
<FileVersion>1.0.0.2</FileVersion>
<Company>My Company</Company>
<Product>My Product</Product>
<Authors>My Company</Authors>
</PropertyGroup>
Как мне установить атрибут в файле проекта wxs на это значение во время сборки?Я даже пойду с хакерскими решениями на этом этапе, потому что не похоже, что есть стандартный способ сделать это.