Нет, значение не считается устаревшим. Он используется в DefaultControllerFactory.cs. Обратите внимание, что если указано значение, оно полностью заменяет искомые стандартные пространства имен. Когда параметр не указан, пространства имен ищутся по определению:
HashSet<string> nsDefaults = new HashSet<string>(ControllerBuilder.DefaultNamespaces, StringComparer.OrdinalIgnoreCase);
Когда указан параметр, указанный вами список заменяет это значение.
В любом случае DefaultControllerFactory вызывает:
GetControllerTypeWithinNamespaces(controllerName, nsDefaults);
... со списком, либо предоставленным вами, либо по умолчанию. Таким образом, ясно, что значение поддерживается.
Когда вы посмотрите на исходный код там и в ControllerTypeCache, вы увидите реальную цель значения пространства имен: это не заставляет фабрику контроллера искать в местах, которые иначе не выглядели бы; скорее это фильтр . Другими словами, он не позволяет фабрике контроллеров по умолчанию искать и именовать пространства, которые он мог бы искать для контроллеров.