httpRuntime targetFramework и dll, которые зависят от более высокой версии .net framework - PullRequest
0 голосов
/ 07 мая 2018

Мой файл web.config приложения asp.net mvc 5 содержит httpRuntime targetFramework="4.5" и compile targetFramework="4.5.1". Недавно я начал использовать dapper, что потребовало от меня перенаправления приложения на 4.5.1. Переориентация приложения не изменила httpRuntime targetFramework.

Нужно ли также установить httpRuntime targetFramework в 4.5.1 в файле web.config или я должен оставить все как есть? В тестовой и производственной системах работает .Net framework 4.5.2.

Спасибо

Обновление: я нашел интересную статью: https://dennisgorelik.livejournal.com/132999.html., а также эту: https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime-targetframework/.

1 Ответ

0 голосов
/ 07 мая 2018

На самом деле нет более новой платформы, чем 4.5. Существуют функциональные обновления с более новыми версиями, но все они устанавливаются в одну целевую папку (одну из .NET 4.5) и перезаписывают существующие файлы. Это относится и к 4.6.x или 4.7.x. Это отличается от предыдущих версий платформы, где они могли (или должны) сосуществовать.

Фактически, вы можете запустить приложение с более новой платформой (> = 4.5) на веб-сервере со старой версией, используя этот хак. Конечно, только если вы не использовали классы фреймворка более нового фреймворка. В противном случае вы получите ужасное исключение из загрузчика классов. (BTDT)

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

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