мы используем какую-то подключаемую архитектуру в одном из наших продуктов
(на основе .NET). Мы должны учитывать наших клиентов или даже третьих лиц
разработчики пишут плагины для продукта. Плагины будут .NET
сборки, которые загружаются нашим продуктом во время выполнения. У нас нет
контроль качества или возможностей внешних плагинов
(кроме проверки, реализуют ли они правильные интерфейсы).
Таким образом, нам нужно реализовать какую-то проверку безопасности при загрузке
плагины, чтобы убедиться, что наш продукт (и среда размещения)
может фактически разместить плагин или доставить осмысленное сообщение об ошибке
("Плагин для вашей загрузки. NET версия 42.42 - хостинг
Система только на версии 33.33. ").
В идеале плагины будут делать эту проверку внутри, но наши
опыт относительно их компетентности так себе и в любом случае наш
Виноват продукт, поэтому мы хотим убедиться, что это «просто работает». Требование от разработчиков плагинов предоставить информацию в метаданных или явно предоставить информацию в интерфейсе считается «слишком сложным».
Я знаю о свойстве Assembly.ImageRuntimeVersion. Но к моему
знание этого говорит мне только необходимую версию CLR, а не структуру
версия. И я не хочу проверять все зависимости сборки
и сопоставить их с таблицей «фреймворк версии против доступных
сборки».
У вас есть идеи, как решить эту проблему простым и понятным
мода
Спасибо и всего наилучшего, Бон