安装最新的Nuget软件包后,没有实体框架提供程序发现错误

时间:2015-03-17 10:35:24

标签: c# entity-framework entity-framework-6

我刚刚将EF升级到6.1.3并且我收到错误:

No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

版本6.1.2一切正常。

我通过Manage NuGet Packages for Solution安装了EF,并直接使用PM控制台。

在我使用EF的项目中,我也引用了最新的EntityFramework.SqlServer.dll

EF在我的Model项目中,app.config如下所示:

              

<entityFramework>
  <providers>
    <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
  </providers>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
</entityFramework>

MVC项目具有实际的连接字符串(在单独的文件中提供web.config),它们是:

<?xml version="1.0" encoding="utf-8" ?>
  <connectionStrings>
  <clear/>
  <add name="Blank" connectionString="data source=myserver;initial catalog=mydb;user id=***;password=***;MultipleActiveResultSets=True;App=MyApp" providerName="System.Data.SqlClient" />
</connectionStrings>

我应该重新安装以前的版本吗?这个问题的解决方案是什么?

修改

问题是主要的MVC项目是从版本6.1.2引用EntityFramework.SqlServer.dll。此引用已删除,现在引用了版本6.1.3中的DLL。该应用程序现在工作正常。

但是,如果在主项目中不需要这个DLL,还有其他方法可以引用它吗?

0 个答案:

没有答案