Я работаю над сайтом ASP.NET MVC2 и теперь мне нужно добавить больше проектов. Мой текущий веб-проект выглядит так:
MyProject
- MyProject
-- [MyProjects project files]
- [Solution files] (plus a webconfig)
Я начал вынимать только MyProject и переименовывать его так, чтобы структура выглядела следующим образом:
MyProject.Website
- [MyPrject.Website project files]
Затем я создал папку MyPrject, в которую поместил и MyProjectSite, и другой проект под названием MyProject.Integration, например:
MyProject
- MyProject.Website
- MyProject.Integration
Затем я запустил Visual Studio 2010 и создал пустое решение, которое дало мне следующую структуру файлов:
MyProject
- MyProject.Solution
-- [Solution files] (no web.config)
- MyProject.Website
-- [Website project files]
- MyProject.Integration
-- [Integration project files)
При просмотре в Visual Studio 2010 я вижу, что мое решение (MyProject) содержит два проекта (MyProject.Website и MyPrject.Integration).
Теперь я нажимаю «Перестроить все» и сначала получаю следующее исключение:
Ошибка 1 Не удалось загрузить тип 'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider'. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ web.config 129
Если я просто перестраиваю MyProjectIntegration, все работает нормально, но при создании MyProject.Website у меня появляется это исключение.
Странно, что я получаю исключение в файле web.config, не размещенном в моих проектах?
Я погуглил проблему и обнаружил, что могу добавить строку в свой web.config в MyProject.Website, вот как это выглядит
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
Добавлена строка «System.Data.Entity.Design»
Когда это была дюна, я снова восстановил, а затем получил следующее исключение:
Ошибка 1 Тип или имя пространства имен «ModelViewRegisterFilter» не существует в пространстве имен «Biss.Views.ViewClasses» (отсутствует ссылка на сборку?) C: \ Windows \ Microsoft.NET \ Framework \ v4 .0.30319 \ Временные файлы ASP.NET \ MyProject.website \ e0c6b507 \ 13ca6533 \ App_Web_3ri01j0f.0.cs 178
Что я делаю не так? Мне просто нужно основное решение, содержащее два проекта?
Edit1: Пожалуйста, обратите внимание, что все проекты работали очень хорошо, прежде чем я попытался поместить их в это решение.