Visual Studio 2010 Решение проблем - PullRequest
       23

Visual Studio 2010 Решение проблем

2 голосов
/ 03 сентября 2011

Я работаю над сайтом 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: Пожалуйста, обратите внимание, что все проекты работали очень хорошо, прежде чем я попытался поместить их в это решение.

Ответы [ 2 ]

5 голосов
/ 27 марта 2013

когда я получил эту проблему, я просто добавил следующую строку для компиляции / сборок в web.config:

<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
1 голос
/ 03 сентября 2011

Вместо создания пустого решения, попробуйте начать с шаблона решения mvc, а затем добавить в него существующие проекты и файлы.

...