На контроллеры и модели ссылается пространство имен, поэтому их физические местоположения файлов не имеют никакого отношения к чему-либо. Контроллеры загружаются динамически независимо от того, где они находятся в проекте, или даже если они вообще находятся в проекте (т. Е. Будет автоматически загружаться контроллер из указанной библиотеки). Модели полностью основаны на коде, и вы просто добавили бы оператор using с пространством имен моделей для доступа к ним в любом другом фрагменте кода.
Представления, однако, в значительной степени основаны нафайловая система и изменение основной папки, в которой они находятся, просто из Views
или Pages
непосредственно в корне проекта, приведет к полной ошибке загрузки представления на основе соглашения. Вы всегда можете добавить дополнительные места поиска вида, чтобы они выглядели в /Foo/Views
и /Bar/Views
и т. Д., Но это на самом деле не рекомендуется.
Все это говорит о том, что существует понятие областей,и вы можете сломать ваши контроллеры, модели, и просмотры таким образом. Вам просто нужно иметь:
- Области / Клиенты / Контроллеры
- Области / Клиенты / Представления
- Области / Клиенты / Модели
Другими словами, префикс Areas
будет обязательным.