部署时EF 4.3的问题

时间:2013-01-29 18:27:43

标签: asp.net entity-framework entity-framework-4.3

我在本地计算机上安装了EF4.3.1。

我创建了一个新的Web应用程序项目并添加了框架。然后我创建了一个数据库/模型等。框架分为2个项目1个DAL,1个实体。在我的本地机器上,我只限于SQL Express 2008。

以下是来自web config的配置部分:

  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.3.1.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </configSections>

这是我使用的连接字符串:

<add name="PayDayLoanEntities" connectionString="metadata=res://*/Models.PayDayLoans.csdl|res://*/Models.PayDayLoans.ssdl|res://*/Models.PayDayLoans.msl;provider=System.Data.SqlClient;provider connection string='data source=.\SQLEXPRESS;attachdbfilename=&quot;C:\Documents and Settings\John\My Documents\Visual Studio 2010\Projects\IL\WebSite\App_Data\PayDayLoans.mdf&quot;;integrated security=True;connect timeout=30;user instance=True;multipleactiveresultsets=True;App=EntityFramework'" providerName="System.Data.EntityClient" />

这一切都有效!

在我的生产机器上,我使用SQL 2008网络版,因此更改了连接字符串,如下所示:

<add name="PayDayLoanEntities" connectionString="metadata=res://*/Models.PayDayLoans.csdl|res://*/Models.PayDayLoans.ssdl|res://*/Models.PayDayLoans.msl;provider=System.Data.SqlClient;provider connection string='Data Source=localhost;Initial Catalog=PayDayLoans;uid=***;pwd=********&quot;;integrated security=True;connect timeout=30;user instance=True;multipleactiveresultsets=True;App=EntityFramework'" providerName="System.Data.EntityClient" />

但是,我收到以下错误消息:

Could not load file or assembly 'EntityFramework, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

config部分引用4.3.1但错误4.1.0。有人知道我在这里缺少什么吗?

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

当为RELEASE构建时,解决方案中的某些内容很可能会引用EF 4.1.0。也许你有一个没有正确更新的构建服务器?

在生产计算机上运行Fuslogvw(以管理员身份或将无声地失败)。在启动Web应用程序之前开始记录绑定失败。 Fuslogvw会告诉你究竟试图绑定EF 4.1.0的内容。