1) В исходной ошибке не отображаются строки или номера строк, поэтому убедитесь, что вы выполняете отладочную сборку. Также убедитесь, что в вашем файле web.config есть файл.
2) Проверьте ваш файл global.asax ... что-то там не так. У вас есть исключение нулевой ссылки, и это, вероятно, происходит в любом коде, который вы изменили в global.asax.cs.
EDIT : для отладки файла global.asax.cs часто проще всего вызвать вызов System.Diagnostics.Debugger.Launch () в обработчике события Session_Start. Добавьте обработчик, если у вас его нет.
3) Убедитесь, что ASP.NET установлен правильно. В свойствах вашего виртуального каталога в IIS есть вкладка с именем ASP.NET. Проверьте версию. Если он установлен неправильно, запустите "C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_regiis -i".
4) Если вы используете VS, перейдите в CTRL-ALT-E (или в меню «Отладка / Исключения») и выберите опцию Брошенный для Общих исключений времени исполнения, поэтому VS будет прерываться всякий раз, когда выдается исключение CLR, тогда вы можно точно увидеть, где это происходит. Запустите приложение в отладчике и узнайте, что происходит.
5) Если исключение выдается за пределы вашего кода, проверьте трассировку стека, чтобы выяснить, откуда оно.
6) Если вам нужно пойти гораздо глубже, и вы знаете, что это происходит в .NET, но не знаете почему, включите пошаговое выполнение исходного кода .NET Framework (это где-то в Options / Debug если вы используете VS2008 SP1) , Если вы используете более раннюю версию, вам придется посмотреть, как включить символы .NET Framework и т. Д. Однако делать это не нужно, просто добавив ее в качестве «следующего шага».