Целевая платформа
Помимо среды CLR, которая напрямую связана со средой выполнения, targetFramework сообщит .NET, на какие сборки он должен ориентироваться.
<compilation targetFramework="4.x.x"/>
Выбирает, какая версия эталонных сборок .NET Framework используется при компиляции. (Примечание: Visual Studio требует, чтобы этот элемент присутствовал в Web.config, даже если мы автоматически выводим его.)
<httpRuntime targetFramework="4.x.x"/>
Это было введено, чтобы делать то, что вы хотите: выбирать поведение 4.7 с разработанным приложением 4.5. Обратите внимание, что у вас могут быть некоторые поведения, это не волшебство :) (даже если в вашем случае 4.5 на 4.7 не будет проблемой ИМХО).
Эффект этого атрибута двоякий. Во-первых, он управляет поведением режима причудливой среды CLR, точно так же, как элемент <supportedRuntime>
в консольном приложении. Во-вторых, <httpRuntime targetFramework="4.5" />
— это ярлык, который позволяет среде выполнения ASP.NET выводить широкий спектр параметров конфигурации.
Проверьте https://blogs.msdn.microsoft.com/webdev/2012/11/19/all-about-httpruntime-targetframework/
Привязка сборки
Существует также сборка привязки в web.config
предназначен для привязки диапазона версий сборки к конкретной версии.
Дело в том, что сборки .NET Framework (не .NET Core) основаны на версии CLR. Насколько я знаю, все сборки, включенные в фреймворк (не сателлиты вроде MVC), будут 4.0.0.0
. Таким образом, вы не можете привязать сборку 4.x Framework
к сборке 4.7 framework
, потому что у них будет одинаковая версия сборки.
Но вы можете привязать свою внешнюю (NuGet) зависимость.
В любом случае, за исключением случаев, когда у вас разные конфигурации веб-сервера с разными установленными фреймворками, самый простой способ — перекомпилировать ваше приложение, изменив целевую фреймворк в свойствах проекта Visual Studio, как уже было сказано.
person
JoeBilly
schedule
05.09.2018