Это могло бы быть в более высоком уровне, что, чем Вы были после, но фиксация его (если Вам разрешают) также включает более высокий уровень боли:
настаивание на ручной прокрутке Объектного менеджера по работе с клиентами / Уровень доступа к данным вместо того, чтобы пользоваться одной из установленных, протестированных, зрелых библиотек там (даже после того, как на них указали Вам).
В итоге я использовал этот небольшой фрагмент кода, чтобы получить текущий развернутая версия или, если она не развернута, текущая версия сборки.
private Version GetRunningVersion()
{
try
{
return Application.ApplicationDeployment.CurrentDeployment.CurrentVersion;
}
catch
{
return Assembly.GetExecutingAssembly().GetName().Version;
}
}
Мне пришлось добавить ссылки на System.Deployment
и System.Reflection
.