Выбор правильного способа обработки Сборки Redirect для двоичного командлета - PullRequest
0 голосов
/ 21 мая 2019

Разработка собственного командлета Powershell, и он имеет некоторые зависимости от внешних сторонних сборок. Эти сторонние сборки поддерживаются в GAC. Существование и установка этих сборок обычно обрабатывается вне нашего пользовательского командлета и может и будет обновляться вне нашего контроля. Итак, наш командлет работает с любой версией сборки, большей, чем, скажем, 1.0.1. Пример вопроса; мы компилируем наш командлет для версии 1.0.1 и помещаем его в систему, где установлена ​​сборка 1.0.2.5204. При вызове моих функций командлета я получаю типичную ошибку теперь, когда «сборка версии 1.0.1 не может быть найдена». Здесь решение ( перенаправление сборки конфигурации Powershell ) предлагает использовать обработчик событий. Хотя, похоже, существуют некоторые оговорки в отношении этого решения, поэтому мы попытались разработать альтернативу.

Мы думали о регистрации более старых версий DLL в GAC во время регистрации нашего пользовательского двоичного командлета. Если более старая версия сборки не существует, но существует более новая, то мы знаем, что необходимое программное обеспечение установлено. Итак, мы будем регистрировать старую DLL рядом с новой, которая нужна текущему приложению.

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

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