Для меня просто очистка проекта очистила эту ошибку.
(неизвестно) верно. Создайте два проекта, библиотеку классов и веб-проект MVC. Проект MVC должен ссылаться на библиотеку классов, которая содержит контроллеры и код файлов (глобальный asax и т. Д.). Вот пример макета.
Библиотека классов должна содержать только файлы .cs и не должна содержать представления (файлы .aspx / .ascx).
MyProject.BaseSite (class library) + Controllers - HomeController.cs - ... any other controllers - default.aspx.cs - global.asax.cs
Веб-проект MVC должен содержать конфигурации, представления и т. Д. И ссылку на вашу библиотеку классов
MyProject.ExampleSite + Content + scripts + css + images + Views + Home - index.aspx - .. other aspx files + Shared - Site.master - web.config
Помните о разных пространствах имен. Затем вы можете создать несколько примеров веб-сайтов, которые ссылаются на один и тот же код. Это позволяет полностью изменить внешний вид вашего веб-сайта.
Создайте отдельный проект библиотеки классов для каждого уровня ответственности, скомпилируйте для создания сборки и затем ссылки на каждую из них в вашем приложении, где это необходимо.
Да, если вы используете один из поддерживаемых контейнеров внедрения зависимостей , то их данные конфигурации обычно указывают не только класс, который должен быть загружен в ответ на конкретный запрос, но и также сборка, из которой он должен быть загружен. Это позволяет вам разделить классы по произвольным сборкам, и MVC все равно сможет их найти.
Хотя, конечно, более простой ответ, предоставленный Unknown (Google), также будет работать!
Я понимаю, что это действительно старый вопрос, но я написал статью о том, как именно то, что вы просите