Во-первых, вы не меняете названия маршрутов, они должны быть относительными.
Во-вторых, у вас, вероятно, возникнут проблемы с наследованием web.config (т. Е. Ваш web.config в приложении mvc наследует все от web.config в корне).
Вы можете остановить это наследование, но вам нужно будет изменить корневые приложения web.config, чтобы включить тег местоположения вокруг всего:
<configuration>
<configSections>
... all your custom config sections here (if any) ...
</configSections>
<location path="." inheritInChildApplications="false">
... all your config stuff here (ie, system.web, connectionStrings) ...
</location>
</configuration>
Это говорит о том, что эти настройки применяются только к пути ".", Точка будет обозначать текущее местоположение, а затем в коллекции attributeitInChildApplications "не наследуются эти настройки в дочерних приложениях".
Вы даже можете поместить вещи вне тега местоположения, которые хотите сделать доступными для дочерних приложений.
Редактировать: обратите внимание, что это может не решить ваши проблемы (или, по крайней мере, не все из них), некоторые могут быть из-за того, что вы сделали предположение, что приложение будет работать в корне (в основном, в отношении путей).