Как управлять версиями в VS2010? - PullRequest
3 голосов
/ 12 февраля 2011

Например, после сборки версии выпуска я хочу, чтобы имя было изменено на (например) MyApp-1.2.exe . После сборки следующей версии я хочу, чтобы exe-файл назывался MyApp-1.3.exe . Я все еще хочу иметь возможность запустить MyApp-1.2.exe .

Я бы предпочел не использовать какой-либо внешний инструмент (я знаю, что есть nAnt и nMaven) и делать это в VS. ЕСЛИ это невозможно, чем я держу пари, что для меня это лучший вариант.

Ответы [ 2 ]

4 голосов
/ 12 февраля 2011

Вы также можете сделать это через MSBuild с помощью задачи GetAssemblyIdentity :

<GetAssemblyIdentity
  AssemblyFiles="$(MSBuildProjectDirectory)\src\MyApp\bin\MyApp.exe">
  <Output
    TaskParameter="Assemblies"
    ItemName="AssemblyIdentities"/>
</GetAssemblyIdentity>

А затем переименуйте ваш .exe файл:

<Copy 
    SourceFiles="$(MSBuildProjectDirectory)\src\MyApp\bin\MyApp.exe" 
    DestinationFiles="$(MSBuildProjectDirectory)\src\MyApp\bin\MyApp-(AssemblyIdentities.Version).exe"></Copy>
<Delete
    Files="$(MSBuildProjectDirectory)\src\MyApp\bin\MyApp.exe"></Delete>
2 голосов
/ 13 февраля 2011

Если вы действительно хотите сделать это в VS, вы можете (снова) сделать это с помощью функции Команда после сборки (из Project properties -> Build Events).

Запуск сценария или командного файла, который copy запустит файл и затем переименует его. Я делал это на основе текущей даты (а не версии) несколько лет назад (даже не знаю почему).

Вы можете делать практически все что угодно в событиях сборки, если можете создавать пакетные файлы или сценарии.

ИМХО предпочтительнее использовать систему сборки для этого подхода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...