В VS 2010, изменяясь <MvcBuildViews>true</MvcBuildViews>
в .csproj причинах файла проекта MVC2 ошибка, если Вы используете Платформу Объекта.
Не мог загрузить тип 'Система. Данные. Объект. Дизайн. AspNet. EntityDesignerBuildProvider'. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config 129
Я хочу создать представления, в то время как я отлаживаю, и я также хочу свой проект скомпилировать!
Вы можете решить эту проблему компиляции MVC, добавив следующий элемент в файл web.config:
<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
Это укажет компилятору, где найти недостающий тип.
У меня была аналогичная ошибка при установке MvcBuildViews = "true"
, которая была связана с тем, что сборка находила несколько файлов web.configs из-за создавать временные файлы и просто не нравится.
Это совершенно другая ошибка, но у меня есть скрытое подозрение, что они могут быть связаны ...
Вы можете найти исходный вопрос, который у меня был здесь , а затем решение, описанное здесь .
Решение в основном позволяет вам изменить путь вывода для ваших сборок ... поэтому вам нужно добавить
в файл csproj вашего веб-сайта.
Например.
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
...BLAH...
<BaseIntermediateOutputPath>..\TempBuildOutput</BaseIntermediateOutputPath>
</PropertyGroup>
...A WHOLE LOTTA BLAH...
</Project>
HTHs,
Чарльз
Это полный пример web.config
<configuration>
<system.web>
<customErrors mode="Off"/>
<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.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.web>
</configuration>
У меня тоже была такая проблема, и я выяснил, что создал несколько файлов сущностей (edmx и т.п.), но удалил их.
эта проблема стала возникать только после того, как я создал эти файлы. проверив папки приложений, я обнаружил, что visual studio на самом деле не "удалила" их с диска, она просто "удалила" их из проекта. поэтому при компиляции проекта она увидела этот файл edmx и решила включить его. отсюда и ошибка.
простое решение - навсегда удалите файлы сущностей с диска!