Честно говоря, самым большим препятствием для вас будет создание маршрутов и обеспечение того, чтобы они не мешали маршрутам, уже находящимся в системе. После того, как вы начнете работать, все остальное просто, как пирог.
Первое, что вам понадобится, это HttpModule, который будет вставлен в web.config под. Этот модуль будет использоваться для регистрации и пользовательских ViewEngines или маршрутов, которые вы хотите зарегистрировать. Вы делаете это так же, как в Global.asax, но вместо того, чтобы помещать их в Application_Start, вы помещаете их в статический конструктор HttpModule. Это происходит так, что они загружаются только один раз, как Application_Start.
Сделав вышеописанное, вы создадите модуль, который легко переносится и не требует от имплиментера изменять свой код Global.asax, чтобы заставить ваши вещи работать.
Второе, что вы, вероятно, захотите сделать, - это создать пользовательскую конфигурацию в web.config для установки таких вещей, как корневой путь вашего приложения. Это будет добавлено к маршруту при настройке в HttpModule. Также вы можете использовать это для хранения информации о настройке, которая не подходит для базы данных.
Последнее, но не обязательно, это то, что вы можете создать собственный ViewEngine, который знает и понимает структуру вашей папки. Это необходимо только в том случае, если вы хотите сохранить представления в пути, отличном от представлений по умолчанию, чтобы минимизировать конфликты.