Была такая же проблема в проекте, который мы взяли на себя после того, как другой производитель его построил. Проблема заключалась в том, что, хотя предыдущий поставщик в Global.asax.cs написал несколько команд, которые могли бы заставить вас поверить, что он используется, он фактически полностью игнорируется. Global.asax не наследовал от него, и этот файл легко никогда не увидеть, если он присутствует .cs-файл - нужно щелкнуть правой кнопкой мыши Global.asax и нажать View Markup, чтобы увидеть его.
Global.asax:
<%@ Application Language="C#" %>
Необходимо изменить на:
<%@ Application Codebehind="Global.asax.cs" Inherits="ProjectNamespace.MvcApplication" Language="C#" %>
Где ProjectNamespace - это пространство имен вашего класса Global.asax.cs (обычно это имя вашего проекта).
В нашем случае файл содержал ряд встроенного кода, некоторые из которых были скопированы из файла .cs, некоторые нет. Мы просто сбросили встроенный код в файл .cs и постепенно объединили наши изменения обратно.