Как установить версию .net Framework 4.5 в пуле приложений IIS 7

203

Я установил бета-версию Visual Studio 11, и внезапно все методы асинхронных действий, которые я создал в предварительном просмотре VS 11 Developer, начали зависать (очевидно, эта проблема: http://blogs.msdn.com/b/pfxteam/archive/2012/03/ 03 / 10277166.aspx ).

Мое приложение использует v4.0.30319 в качестве версии Framework, но нет возможности использовать 4.5. Я восстановил мою .net 4.5, чтобы установить, но ничего. Есть ли способ настроить это в IIS? Нужно ли для bin развертывать файлы (и если да, то какие)?

Джин Реддик
источник
6
Ссылка на установку .Net 4.5 для серверов, на случай, если кто-нибудь
Крис Москини,
2
Автономный установщик .NET Framework 4.5.1: microsoft.com/en-us/download/details.aspx?id=40779
Питер Кисс,
1
.NET 4 и .NET 4.5 (включая 4.5.1 и 4.5.2) для CLR версии 4.0 >>> Подробнее: msdn.microsoft.com/en-us/library/8bs2ecf4(v=vs.110). aspx
VnDevil

Ответы:

381

Нет 4.5 пула приложений. Вы можете использовать любое приложение 4.5 в пуле приложений 4.0. .NET 4.5 «просто» обновление на месте, а не новая версия.

Питер Кисс
источник
Спасибо. Я так и подозревал, хотя неясно, почему асинхронные вызовы не выполняются. Я поставлю это в другом вопросе.
Джин Реддик,
2
У меня есть пул приложений 4.5 в IIS после установки Visual Studio 2012 и 4.5 и Windows 8
Брайан Майнс
30
Да, Apppool имеет имя «.NET v4.5», но проверьте столбец версии .NET Framework на экране IIS - Пулы приложений, это будет 4.0. (Есть 3 базовых CLR: 1,0, 2,0, 4,0.)
Питер Кисс
Что тут происходит? У меня нет версии 4.5 в качестве фреймворковой версии, но этот SO QA говорит, что есть новый CLR, в отличие от Питера stackoverflow.com/questions/8810391/…
Luke Puplett
4
msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx - раздел «Функции и IDE»; это не новый CLR
Питер Кисс
35

Перейти к «Выполнить» и выполнить это:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

ПРИМЕЧАНИЕ: запускать от имени администратора.

Витор Соуза
источник
просто хотел сказать спасибо, так счастлив, что я наконец нашел это решение
Джордан Уэйн Крэб
Мое приложение напоминает мне о том, что я не нахожу .net Framework 4.5, когда пытаюсь запустить его с VS 2015. После выполнения этой команды она работает как чудо. Спасибо. Не забудьте запустить от имени администратора на CMD.
Nijat2018
19

В графическом интерфейсе не отображается версия 4.5, и обычно вам не нужно вручную указывать версию 4.5, поскольку это обновление на месте. Тем не менее, вы можете установить это явно с appcmd следующим образом:

appcmd set apppool /apppool.name: [App Pool Name] /managedRuntimeVersion:v4.5

Appcmd находится в %windir%\System32\inetsrv . Это помогло мне исправить проблему с веб-развертыванием, когда он выдавал ошибку ERROR_APPPOOL_VERSION_MISMATCH после обновления с версии 4.0 до версии 4.5.

Статья MS по настройке .Net версии для пула приложений

Вальтер
источник
1
При установке IIS перед установкой ASP.Net 4.5 или 4.0 вы можете столкнуться с отсутствующей регистрацией в метабазе. Использование aspnet_regiis может помочь сбросить IIS на всем сервере, но учтите, что он обновит все пулы приложений до выбранной версии.
Ян Хебнес