Как проверить, зарегистрирован ли ASP.NET 4 для запуска в IIS 7.5?
Как проверить, зарегистрирован ли ASP.NET 4 для запуска в IIS 7.5?
Должен быть какой-то способ определить это наверняка, кроме запуска
aspnet_regiis -i
из папки фреймворка.
Мне не нужно проверять это программно, просто через IIS Manager или строку с комментариями. У меня есть страница.NET, которая возвращает ошибку 500, которая, как я определил, может быть связана с тем, что ASP.NET 4 не зарегистрирован в IIS.
Тем не менее, я хочу быть уверен, прежде чем вносить изменения в конфигурацию сервера.
2 ответа
Попробуй запустить aspnet_regiis
с параметром -lv
т.е.
C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -lv
Это даст вам следующий вывод:
Microsoft (R) ASP.NET RegIIS version 4.0.30319.34209
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation. All rights reserved.
2.0.50727.0 C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll
4.0.30319.0 C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
4.0.30319.0 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll
В этом примере вы можете увидеть, что v4.0.30319.0
, 32 и 64 битных DLL, установлены. Чтобы установить последнюю версию, например, после применения обновления.NET Framework, используйте
C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -iru
Примечание. На 64-разрядных серверах IIS необходимо использовать "Framework64" вместо "Framework" в указанных выше путях. Как ни странно, я обнаружил, что на некоторых серверах с 64-битной "Framework" путь работал, на других мне приходилось использовать "Framework64" - просто попробуйте. Если регистрация не работает, запустите ее снова с "Framework64" в пути, это не повредит. В одном случае мне пришлось изменить путь, используя cd C:\Windows\Microsoft.NET\Framework
потом набрал aspnet_regiis -iru
чтобы это наконец заработало.
Вы упомянули, что вам нужно проверить это программно: приведенную выше команду можно использовать в командном файле, и в этой статье вы можете найти строку "4.0.30319.0"
в выводе (при условии, что вы используете "aspnet_regiis -lv > outputfile.txt", чтобы записать вывод в текстовый файл).
appcmd list config /section:globalModules /text:[name='ManagedEngine'].image