Как я могу передать версию блока проекта Visual Studio другому проекту для использования в событии постсборки?

У меня есть решение с 2 проектами:

  • Мое приложение 1.2.54 (C# WinForms)
  • Моя установка приложения 1.0.0.0 (установка WiX)

Я хотел бы добавить событие постсборки к проекту Установки WiX выполнить пакетный файл и передать его параметр командной строки номера версии блока Моего Приложения. Код может выглядеть примерно так:

CALL MyBatchFile.bat "$(fileVersion.ProductVersion($(var.My Application.TargetPath)))"

Но это приводит к следующей ошибке:

Необработанное выражение Exception:The" "".My Приложение" не может быть оценено. Метод 'Система. Строка. Мое Применение', не найденное. C:\My Application\My Application Setup\My Application Setup.wixproj

Ошибка: выражение" "".My Приложение" не может быть оценено. Метод 'Система. Строка. Мое Применение', не найденное. C:\My Application\My Application Setup\My Application Setup.wixproj

Я хотел бы смочь передать "1.2.54" MyBatchFile.bat так или иначе.

1
задан Coder7862396 11 June 2010 в 06:21
поделиться

1 ответ

В файле проекта Wix ( *. Wixproj ) переопределите цель AfterBuild для вызова командного файла:

<Target Name="AfterBuild">
  <!-- Get "My Application" assembly version -->
  <GetAssemblyIdentity AssemblyFiles="../my_assembly_dir/MyAssembly.dll">
    <Output TaskParameter="Assemblies" ItemName="AssemblyIdentity"/>
  </GetAssemblyIdentity>

  <Exec Command="MyBatchFile.bat %(AssemblyIdentity.Version)"/>
</Target>
2
ответ дан 2 September 2019 в 23:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: