Как указать версию публикации в Devenv? - PullRequest
1 голос
/ 30 мая 2011

Я совершенно новичок в построении Visual Studio Project с помощью сценария, поэтому не стесняйтесь поправлять меня, если вы чувствуете, что мое понимание процесса неверно.

У меня есть решение для Visual Studio, которое состоит из проекта Wpf.exe и нескольких проектов библиотеки классов.

В настоящее время я успешно создаю .sln файл, используя скрипт ниже

"%VS_IDE_DIR%devenv.com" "...Solution-File-Path.sln" /rebuild Release /useenv

В настоящее время файл Wpf.exe получает File Version и Product Version 1.0.0.0, которые по умолчанию указаны в Publish -> Publish Version Свойство проекта Wpf. enter image description here

Я хочу как-то установить File Version и Product Version через мой скрипт. Как я могу этого достичь?

У меня есть environment variable, который содержит Product Version и File Version, в основном я хочу установить значение версии продукта и версии файла равным моей переменной среды.

Ответы [ 2 ]

2 голосов
/ 30 мая 2011

Есть простой способ сделать это.В проекте WPF откройте узел «Свойства» и дважды щелкните AssemblyInfo.cs.Атрибут [assembly: AssemblyFileVersion] устанавливает номер версии файла.Добавьте это, чтобы установить номер версии продукта:

[assembly: AssemblyInformationalVersion("1.2.3.4")]

Выполнение этого из командной строки возможно только технически.Вам нужно будет создать собственный ресурс версии файла и скомпилировать его с помощью rc.exe.И используйте Project + Properties, опцию Resource file, чтобы указать компилятору использовать пользовательский файл .res, созданный rc.exe.Вам потребуется сценарий для обновления ресурса версии.Учитывая, как легко это сделать, отредактировав AssemblyInfo.cs, я бы порекомендовал вам не беспокоиться.

1 голос
/ 30 мая 2011

Вы можете добавить /p:ApplicationVersion=1.0.0.1 во время выполнения команды ms build. Указанный номер версии будет номером версии, которую проект будет использовать при компиляции exe.

Обновление:

Я добавил следующий код xml внутри тега проекта в файл проекта моего решения.

<ItemGroup>
<Tokens Include="ApplicationVersion">
      <ReplacementValue>$(ApplicationVersion)</ReplacementValue>
      <Visible>false</Visible>
</Tokens>
 </ItemGroup>
...