MvcBuildViews, верный с Платформой Объекта в ASP.NET MVC 2

В VS 2010, изменяясь <MvcBuildViews>true</MvcBuildViews> в .csproj причинах файла проекта MVC2 ошибка, если Вы используете Платформу Объекта.

Не мог загрузить тип 'Система. Данные. Объект. Дизайн. AspNet. EntityDesignerBuildProvider'. C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\web.config 129

Я хочу создать представления, в то время как я отлаживаю, и я также хочу свой проект скомпилировать!

32
задан jonsca 8 July 2012 в 04:26
поделиться

4 ответа

Вы можете решить эту проблему компиляции MVC, добавив следующий элемент в файл web.config:

<add assembly="System.Data.Entity.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

Это укажет компилятору, где найти недостающий тип.

58
ответ дан 27 November 2019 в 20:26
поделиться

У меня была аналогичная ошибка при установке 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,
Чарльз

0
ответ дан 27 November 2019 в 20:26
поделиться

Это полный пример 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>
2
ответ дан 27 November 2019 в 20:26
поделиться

У меня тоже была такая проблема, и я выяснил, что создал несколько файлов сущностей (edmx и т.п.), но удалил их.

эта проблема стала возникать только после того, как я создал эти файлы. проверив папки приложений, я обнаружил, что visual studio на самом деле не "удалила" их с диска, она просто "удалила" их из проекта. поэтому при компиляции проекта она увидела этот файл edmx и решила включить его. отсюда и ошибка.

простое решение - навсегда удалите файлы сущностей с диска!

4
ответ дан 27 November 2019 в 20:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: