Как автоматически установить WiX «Версия продукта» на «Версия пакета» Asp.NET Core? - PullRequest
0 голосов
/ 11 октября 2018

У меня есть решение с проектом Asp.NET Core и проектом WiX, который генерирует MSI для его развертывания на сервере IIS.

В настоящее время всякий раз, когда мы собираем проект, нам необходимо обновлять номера сборки в следующих местах:

  1. Страница свойств проекта Asp.NET> Вкладка «Пакет»> Версия пакета: xxx
  2. Страница свойств проекта Asp.NET> Вкладка «Пакет»> версия сборки: xxxx
  3. Страница свойств проекта Asp.NET> Вкладка «Пакет»> Версия файла сборки: xxxx
  4. Файл 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 на это значение во время сборки?Я даже пойду с хакерскими решениями на этом этапе, потому что не похоже, что есть стандартный способ сделать это.

enter image description here

...