В моей команде мы создаем сборки для присоединения к расширяемому выпущенному программному обеспечению, созданному и опубликованному в других местах моей компании. Эти сборки часто специфичны для отдельного клиента, хотя некоторые используются повторно. Я хочу ввести в эту среду несколько стандартов - номера версий и установщики.
В настоящее время многие сборки отправляются клиентам без адекватного управления версиями. Я хочу установить автоматическое обновление номеров версий, чтобы в случае проблем с клиентом мы могли быть уверены, какой исходный код использовался в их программном обеспечении.
В настоящее время сборки устанавливаются отдельным пользователем, копируя их вручную по правильному пути и выполняя любую необходимую регистрацию. Я хочу заставить людей использовать установочный пакет, чтобы путь и регистрация обрабатывались автоматически.
Я мог бы реализовать первый шаг, заставив людей использовать:
[assembly: AssemblyVersion("1.0.*")]
Но я бы предпочел обновить AssemblyFileVersion, а не AssemblyVersion. Это потому, что я понимаю, что продвижение AssemblyVersion в сочетании с нашей ручной установкой может привести к регистрации нескольких версий сборки. AssemblyFileVersion не обновляется автоматически, и я опасаюсь решения, которое требует от разработчиков установки сторонних инструментов. Если бы у нас был правильный процесс установки, проблема могла бы исчезнуть из нескольких версий.
На втором шаге, если я использую проект установки Visual Studio, то добавление сборки вызывает попытку добавить другие сборки из исходного опубликованного программного обеспечения, что мне не нужно. Я предполагаю, что могу создать это как-то как патч, но я еще не решил это. Конечно, установщику потребуются надежные номера версий, иначе все будет плохо.
Кажется очевидным, что, написав это, мне нужно продвигать обе проблемы одновременно, но я бы действительно предпочел подходить к одному по очереди.
Есть какие-нибудь мысли о том, как лучше решить эти две проблемы?