找不到EntityFramework.sqlServer dll

时间:2014-12-18 13:39:29

标签: c# asp.net .net entity-framework

我们有ASP.NET WebSite,它引用了引用EntityFramework dll的项目(dll)。我们已经手动将EntityFramework.dll和EntityFramework.SqlServer.dll引用添加到bin文件夹(而不是通过Nuget)。我们正在使用Octopus来部署我们的网站。在部署时,我们在bin文件夹中没有EntityFramework.SqlServer dll。我已经通过各种答案,但无法得到它。 有谁知道相同的答案?我尝试通过VS发布,我在bin文件夹中看到EF的SqlServer。我们在web dconfig版本中没有任何引用条目。

不确定添加以下代码,其中一些建议 -

var ensureDLLIsCopied = System.Data.Entity.SqlServer.SqlProviderServices.Instance;

错误讯息 -

LockAutomationNotification.NotifyEmail中发生错误 System.Data.Entity.Core.MetadataException:指定的架构无效。错误: OLIEDataModel.ssdl(2,2):错误0152:找不到具有不变名称' System.Data.SqlClient'的ADO.NET提供程序的实体框架提供程序。确保提供商已在' entityFramework'中注册。应用程序配置文件的一部分。见

1 个答案:

答案 0 :(得分:0)

第一个问题的答案是here。这是因为 EntityFramework.SqlServer.dll 在内部被 EntityFramework.dll 而不是您的项目代码引用。

您收到的新错误是因为您缺少配置。请在您网站的 web.config 文件中添加以下设置:

<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>