Подтвердить что ты не робот

Версия публикации vs Assembly (и т.д.)

Я прочитал здесь темы о сборках, файлах и сборках.

Я хотел бы знать, где находится версия публикации. Результат...

string thisAppsVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

... представляется AssemblyVersion. До сих пор я использовал версию публикации с классом развертывания:

ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;
Version thisAppsVersion = deployment.CurrentVersion;

... но это не доступно, если приложение не установлено. Мне нравится, как он имеет возможность автоматически увеличивать версию.

Есть ли способ получить версию публикации без развертывания сети? Должно ли это быть "публичным лицом" версии приложения?

Пример: версия пользовательского интерфейса (скручена из версии публикации)

Спасибо заранее!

Gregg

4b9b3361

Ответ 1

Я думаю, что разные версии предназначены для разных целей.

1) AssemblyVersion для CLR для загрузки и привязки сборок. Это полезно для разработчиков, но не для конечных пользователей.

2) FileVersion или AssemblyFileVersion - это то, что Windows отображается как версия исполняемого файла. Это одна и та же версия приложения Win32. И эта версия используется системой и установщиками для определения, какая версия является более новой.

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

4) Версия, которую вы показываете конечным пользователям, - это еще одна версия. Назовите эту версию продукта или что-то еще. Он может отличаться от любого из вышеприведенного, например, бизнес Цель. См. AssemblyInformationalVersionAttribute, если вы хотите использовать встроенную поддержку .NET.

В простых случаях вы можете использовать FileVersion в качестве версии продукта. Но опубликовать версию для меня не очень хорошо.