В IIS7 или выше был введен интегрированный конвейер, и некоторые правила изменились. Вы не можете получить доступ к текущему HttpContext в Application_Start. Вот больше информации.
Чтобы процитировать, вот ваши варианты:
Итак, что это значит для вас?
По сути, если вы получаете доступ к контексту запроса в
Application_Start, у вас есть два варианта:
Измените код приложения, чтобы не использовать контекст запроса
(рекомендуемые).
Переместите приложение в классический режим (НЕ рекомендуется).
Поскольку вы только получаете физический путь к приложению, я бы использовал встроенный режим и просто изменил ваш код.