在VS 2010中,变化 <MvcBuildViews>true</MvcBuildViews> 在MVC2项目的.CSPROJ文件中,如果您使用实体框架,则会导致错误。

无法加载类型'System.Data.Entity.Design.aspNet.EntityDesignerBuildProvider'。 C: Windows Microsoft.net Framework V4.0.30319 config web.config 129

我想在调试时构建视图,我也希望我的项目编译!

有帮助吗?

解决方案

您可以通过在Web.config文件中添加以下元素来解决此MVC编译问题:

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

这将告诉编译器在哪里可以找到缺少类型。

其他提示

我也遇到了这个问题,并发现我已经创建了一些实体文件(EDMX等),但已删除它们。

这个问题只有在我创建这些文件之后才开始发生。在检查应用程序文件夹时,我发现Visual Studio实际上并未将它们“删除”驱动器,而是“删除”了项目。因此,当项目被编译时,它看到了此EDMX文件并决定将其包含在内。因此错误。

简单修复 - 将实体文件永久删除驱动器!

或者,您可以删除构建提供商。

<system.web>
  <compilation debug="true" targetFramework="4.0">
    <buildProviders>
      <remove extension=".edmx"/>
    </buildProviders>
  </compilation>
</system.web>

这是一个完整的示例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>

设置时我有类似的错误 MvcBuildViews="true" 这与构建有关,因为构建温度文件而根本不喜欢它,这与构建有关。

这是一个完全不同的错误,但我偷偷摸摸地怀疑它们可能是相关的...

你可以找到我有的原始问题 这里 然后概述的解决方案 这里.

解决方案基本上使您可以更改输出路径所在的构建...因此您需要添加 <BaseIntermediateOutputPath> 到您网站的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,
查尔斯

不足以添加评论。想提一下,您需要将'system.data.entity.design'汇编添加到root web.config。我无意间试图将其添加到我的视图目录中的web.config中。当心这个陷阱。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top