После сегодняшнего переноса серверов один сайт продолжает получать указанную выше ошибку. Быстрый поиск в Google показал, что это довольно распространенная проблема и есть много исправлений, пока что я пробовал следующее:
1. %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe –i
Это кажется наиболее распространенным решением, но у меня оно не сработало. Я пробовал запустить то же самое из v2.0.50727, на всякий случай, и из папки Framework, хотя это 64-битная версия Windows. Не сработало.
2. %windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /norestart
Я восстановил фреймворк, но безрезультатно, я все равно получаю ту же ошибку.
3. Adding <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll"
preCondition="integratedMode,runtimeVersionv2.0,bitness64" /> to applicationHost.config, mine was actually completely empty - but that didn't help either.
Странно то, что у нас работает несколько сайтов, все они .NET4 и все работают правильно - это единственный сайт, работающий на v2, и мне кажется, что это корень проблемы.
Можете ли вы придумать лучшие варианты, если не считать переустановки IIS? Я бы предпочел не нарушать работу других сайтов.
Оказывается, проблема заключалась в переходе с 32-разрядной среды на 64-разрядную. Пул приложений, на котором работал веб-сайт, имел Enable 32-bit applications
настройка установлена на false
, поэтому я предполагаю, что 32-битные обработчики были повреждены. Кроме того, отсутствовал фрагмент web.config, что вызывало проблемы после исправления пула приложений, но также было намного проще найти.