#c# #file #assemblies #assemblyversions
#c# #файл #сборки #assemblyversions
Вопрос:
У меня есть программа обновления для моего приложения. Когда я проверяю наличие обновлений, я сравниваю версию сервера с версией локальной сборки основного EXE-файла приложения. Когда из программы обновления (программа обновления — это другой EXE-файл) я получаю версию сборки моего основного EXE-файла приложения, этот файл блокируется.. Как я могу получить версию сборки моего проекта без блокировки для перезаписи? Хранить версию сборки в XML-файле — плохая идея. Спасибо
Комментарии:
1. Вы нашли решение?
Ответ №1:
Вам просто нужно AssemblyName, чтобы получить версию :
AssemblyName.GetAssemblyName(filename);
Ответ №2:
Быстрым (и грязным) способом было бы скопировать основной exe-файл во временный файл и загрузить его оттуда.
Более элегантным решением было бы создать отдельный домен приложения и загрузить туда основной exe-файл. Поскольку вам нужна только версия, должно быть довольно просто получить данные по мосту между доменами приложений. Домен приложения может быть выгружен, как только у вас будет версия.
Я предполагаю, что вы загружаете сборку, чтобы проверить версию.