Создать версию для решения - PullRequest
2 голосов
/ 17 августа 2011

У меня есть решение, которое представляет собой выпускаемый продукт, и оно содержит как проекты, связанные с конкретным продуктом, так и другие проекты, которые являются общими для всей организации. Какой лучший способ поставить номер версии для выпущенного проекта? Мои текущие идеи:

  • Установите версию сборки в сервисном проекте (это проект, который содержит фактический исполняемый файл, который является службой Windows). Но это выглядит немного странно, так как в основном это лишь логика в базовом проекте
  • Версия основного проекта сборки. Еще раз немного странно, поскольку это могло закончиться тем, что будет разбито в будущих версиях. Что делает нахождение номера версии несовместимым
  • Установите номер версии в проекте установщика Wix. Хорошо, но можно ли это автоматизировать?

Мне бы очень хотелось, чтобы во всех этих местах применялся один и тот же номер версии, или есть лучший способ сделать это?

Ответы [ 2 ]

3 голосов
/ 17 августа 2011

Идея состоит в том, чтобы создать общий файл GlobalAssemblyInfo.cs и включить его в качестве внешней ссылки в каждый проект, который должен быть версионным, таким образом, вы можете изменить версию в одном месте, и все проекты подберут ее, пока Complie

GlobalAssemblyInfo.cs:

[assembly: AssemblyVersion("0.0.0.1")]
[assembly: AssemblyFileVersion("0.0.0.1")]

Обновите файлы csproj один раз, чтобы включить информацию об общей сборке:

<Compile Include="$(SolutionPath)\GlobalAssemblyInfo.cs">
      <Link>Properties\GlobalAssemblyInfo.cs</Link>
</Compile>
0 голосов
/ 17 августа 2011

Обычный способ справиться с этим - создать файл с атрибутами, связанными с версией, из AssemblyInfo.cs и поместить его в корневую папку решения.Затем вы ссылаетесь на него в каждом отдельном проекте, используя общую ссылку.

В Интернете есть много примеров, но вот один, который может помочь: http://blogs.msdn.com/b/jjameson/archive/2009/04/03/shared-assembly-info-in-visual-studio-projects.aspx.

Я не использовал WiX длядовольно долго, но вы должны иметь возможность вставить номер версии в XML, прежде чем запускать его через утилиты WiX для генерации вашего пакета.Если я правильно помню, WiX поддерживает переменные, которые вы можете передать в командной строке.В противном случае вы могли бы сделать автоматическую замену какой-нибудь магической строки, которую вы встраиваете в исходный XML.Первый вариант был бы более удобен в обслуживании.

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