Я считал потоки здесь о блоке, Файле и блоке Информационные версии.
Я хотел бы знать, где Опубликовать версия вписывается. Результат...
string thisAppsVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
... кажется, AssemblyVersion. Вплоть до сих пор я использовал опубликовать версию с классом развертывания:
ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;
Version thisAppsVersion = deployment.CurrentVersion;
... но это не доступно, если приложение не установлено. Мне нравится, как это имеет опцию автоматически увеличить Пересмотр.
Существует ли способ получить опубликовать версию, не будучи развернутой сетью? Это должна быть 'общедоступная поверхность' версии приложения?
Пример: версия UI (скрученный от публикуют версию),
Заранее спасибо!
Gregg
Я думаю, что разные версии обслуживают разные цели.
1) USOMESSVERIONS для CLR для загрузки и связывания сборок. Это полезно для разработчиков, но не конечных пользователей.
2) FileVersion или AssemblyFILEVersion - это то, что окна отображаются в качестве файловой версии исполняемого файла. Это просто одна и та же версия приложения Win32. И эта версия используется системой и установщиками для определения того, какая версия новее.
3) PublishVersion используется для версии пакета развертывания. Это нормально, чтобы одинаковые двоины дважды опубликовали разные версии публикации.
4) Версия, которую вы показываете своим конечным пользователям, является еще одной версией. Назовите IT-версию продукта или что-то еще. Это может отличаться от любого из вышеперечисленного для E.G. бизнес Цель. См. AssembyInformationalVersionAttribute Если вы хотите использовать встроенную поддержку .NET .NET.
Для простых случаев вы можете использовать FileVersion в качестве версии продукта. Но публикация версии не хорошая идея для меня.