Проверка зависимостей .net dll - PullRequest
1 голос
/ 05 декабря 2010

У меня есть небольшое приложение winforms, которое использует около 20 внешних библиотек. Как я могу проверить все их существование при инициализации приложения? сказать: "У вас нет dll, установите его правильно".

Ответы [ 3 ]

1 голос
/ 05 декабря 2010

Вы должны пройти через все пользовательские типы (используя отражения), используемые в вашем приложении, и попытаться создать экземпляр каждого из них.Конечно в try / catch.Затем поймайте FileNotFoundException и проинформируйте пользователя, если некоторые библиотеки отсутствуют.

Когда вы создаете экземпляр типов, используемых в вашем приложении, AppDomain загружает необходимые библиотеки (поэтому он выдаст исключение, еслифайл не найден).

Думаю, это поможет.

0 голосов
/ 05 декабря 2010

Если вы используете архитектуру в стиле плагина, тогда вы можете разрешить все свои зависимости поздно - даже по запросу - и вы можете контролировать то, что происходит, если зависимость не может быть разрешена.

Этоне должно быть сложным - см. например этот простой подход .

0 голосов
/ 05 декабря 2010

Если одна из требуемых сборок отсутствует, ваше приложение может даже не загрузиться CLR.Таким образом, вы могли бы написать приложение-загрузчик, которое выполнит работу по проверке существования требуемых сборок и, если они существуют, Process.Start основного приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...