Asp.net 实体框架错误-找不到请求的.Net Framework数据提供程序。它可能没有安装

Asp.net 实体框架错误-找不到请求的.Net Framework数据提供程序。它可能没有安装,asp.net,.net-4.0,c#-4.0,entity-framework-4,Asp.net,.net 4.0,C# 4.0,Entity Framework 4,当我尝试在服务器上发布asp.net 4.0应用程序时,出现此错误。我使用实体框架和mysql作为数据库。任何帮助都将不胜感激。谢谢 Unable to find the requested .Net Framework Data Provider. It may not be installed. [ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be ins

当我尝试在服务器上发布asp.net 4.0应用程序时,出现此错误。我使用实体框架和mysql作为数据库。任何帮助都将不胜感激。谢谢

Unable to find the requested .Net Framework Data Provider.  It may not be installed.

[ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.]
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +251

[ArgumentException: The specified store provider cannot be found in the configuration, or is not valid.]
   System.Data.EntityClient.EntityConnection.GetFactory(String providerString) +10983191
   System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString) +641
   System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString) +67
   Satelite.Dados.sateliteEntities..ctor() in E:\Sites_dotNet4.0\satelite\trunk\Sistema\Dados\Satelite.Designer.cs:64

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
   System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0
   System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache) +117
   System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache) +247
   System.Activator.CreateInstance(Type type, Boolean nonPublic) +106
   System.Web.DynamicData.<>c__DisplayClass2.<RegisterContext>b__1() +15
   System.Web.DynamicData.MetaModel.RegisterContext(Func`1 contextFactory, ContextConfiguration configuration) +483
   Satelite.Global.RegisterRoutes(RouteCollection routes) in E:\Sites_dotNet4.0\satelite\trunk\Sistema\Satelite\Global.asax.cs:35

[HttpException (0x80004005): Exception has been thrown by the target of an invocation.]
   System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +3988565
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +191
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +325
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +407
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +375

[HttpException (0x80004005): Exception has been thrown by the target of an invocation.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11529072
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4784373
找不到请求的.Net Framework数据提供程序。它可能没有安装。
[ArgumentException:找不到请求的.Net Framework数据提供程序。它可能未安装。]
System.Data.EntityClient.EntityConnection.GetFactory(字符串提供程序字符串)+251
[ArgumentException:在配置中找不到指定的存储提供程序,或者该提供程序无效。]
System.Data.EntityClient.EntityConnection.GetFactory(字符串提供程序字符串)+10983191
System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)+641
System.Data.Objects.ObjectContext.CreateEntityConnection(字符串连接字符串)+67
Satelite.Dados.satelitentities..ctor()位于E:\Sites\u dotNet4.0\Satelite\trunk\Sistema\Dados\Satelite.Designer.cs:64
[TargetInvocationException:调用的目标已引发异常。]
System.RuntimeTypeHandle.CreateInstance(RuntimeType类型、Boolean publicOnly、Boolean noCheck、Boolean&canBeCached、RuntimeMethodHandleInternal&ctor、Boolean&bNeedSecurityCheck)+0
System.RuntimeType.CreateInstanceSlow(布尔publicOnly、布尔skipCheckThis、布尔fillCache)+117
System.RuntimeType.CreateInstanceDefaultCtor(布尔publicOnly、布尔skipVisibilityChecks、布尔skipCheckThis、布尔fillCache)+247
System.Activator.CreateInstance(类型,布尔非公共)+106
System.Web.dynamicATA.c\uu DisplayClass2.b\uu 1()+15
System.Web.DynamicData.MetaModel.RegisterContext(Func`1 contextFactory,ContextConfiguration配置)+483
在E:\Sites\u dotNet4.0\Satelite\trunk\Sistema\Satelite\Global.asax.cs:35中的Satelite.Global.registerOutes(路由收集路由)
[HttpException(0x80004005):调用目标已引发异常。]
System.Web.HttpApplicationFactory.confureStartCalledForIntegratedMode(HttpContext上下文,httpapplicationapp)+3988565
System.Web.HttpApplication.registereventsubscriptionswithis(IntPtr-appContext,HttpContext-context,MethodInfo[]handlers)+191
System.Web.HttpApplication.InitSpecial(HttpApplicationState,MethodInfo[]处理程序,IntPtr-appContext,HttpContext-context)+325
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr-appContext,HttpContext-context)+407
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+375
[HttpException(0x80004005):调用目标已引发异常。]
System.Web.HttpRuntime.FirstRequestInit(HttpContext上下文)+11529072
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文)+141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequestWR,HttpContext上下文)+4784373

您应该在服务器上安装mysql数据提供程序或在web.config中添加类似以下内容:

<system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite" />
      <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
    </DbProviderFactories>
  </system.data>

它是为SQLite数据库添加提供程序的示例。
然后,您应该检查MySQL数据提供程序Dll是否位于服务器上的Bin文件夹中。

您只需要数据提供程序。我在Oracle11g上也遇到了同样的问题,在安装了他们的数据提供程序之后,它就正常工作了。虽然我不得不重新启动了几次web应用程序,但第一次拍摄没有成功