当我将Asp.NET应用程序发布到AWS Elastic Beanstalk时,我收到以下异常消息。该数据库位于Amazon RDS上。应用程序在本地运行时使用本地MySql数据库。我已经在Stack Overflow上尝试了许多建议的答案,但没有一个已经证明可行。在部署.NET应用程序时是否有人遇到此问题?
实体框架提供程序类型 ' MySql.Data.MySqlClient.MySqlProviderServices,MySql.Data.Entity.EF6, Version = 6.9.9.0,Culture = neutral,PublicKeyToken = c5687fc88969c44d' 在ADO.NET提供程序的应用程序配置文件中注册 使用不变名称' MySql.Data.MySqlClient'无法加载。使 确保使用了程序集限定名称并且程序集是 可用于正在运行的应用程序看到 http://go.microsoft.com/fwlink/?LinkId=260882了解更多信息。 at System.Data.Entity.Infrastructure.DependencyResolution.ProviderServicesFactory.GetInstance(String providerTypeName,String providerInvariantName)
at System.Data.Entity.Internal.AppConfig。< .ctor> b__2(ProviderElement) E)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
在System.Collections.Generic.List`1..ctor(IEnumerable`1集合)
在System.Linq.Enumerable.ToList [TSource](IEnumerable`1 source)
在System.Lazy`1.CreateValue()
在System.Lazy`1.LazyInitValue()
在 System.Data.Entity.Infrastructure.DependencyResolution.AppConfigDependencyResolver.RegisterDbProviderServices()
在 System.Data.Entity.Infrastructure.DependencyResolution.AppConfigDependencyResolver.GetServiceFactory(类型 type,String name)
at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey) key,Func`2 valueFactory)
在 System.Data.Entity.Infrastructure.DependencyResolution.AppConfigDependencyResolver.GetService(类型 type,Object key)
at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
at System.Linq.Enumerable.FirstOrDefault [TSource](IEnumerable`1 来源,Func`2谓词)
在 System.Data.Entity.Infrastructure.DependencyResolution.CompositeResolver`2.GetService(类型 type,Object key)
在 System.Data.Entity.Infrastructure.DependencyResolution.DbDependencyResolverExtensions.GetService [T](IDbDependencyResolver 分解器)
在 System.Data.Entity.DbContext.InitializeLazyInternalContext(IInternalConnection internalConnection,DbCompiledModel模型)
在MichHerbAcumaticaApi.Models.ApplicationDbContext.Create()
在 Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2.d__0.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)
在 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContextStage.d__5.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束---
在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)
在 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.IntegratedPipelineContext.d__2.MoveNext() ---从抛出异常的先前位置开始的堆栈跟踪结束---
在 Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.End(IAsyncResult的 AR)
在 System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤, 布尔和放大器; completedSynchronously)
<packages>
......
<package id="MySql.Data" version="6.9.9" targetFramework="net452" />
<package id="MySql.Data.Entity" version="6.9.9" targetFramework="net452" />
<package id="MySql.Web" version="6.9.9" targetFramework="net452" />
.....
</packages>
我试过以下解决方案但没有运气: https://stackoverflow.com/a/40574224/5481661
答案 0 :(得分:0)
请检查您是否已按照以下mySQL文档中的所有步骤操作。根据文件,它说明了这一点 “除非MySQL Connector / Net与独立的MSI或MySQL安装程序一起安装,它添加了引用,否则请将以下数据提供程序信息插入app.config或web.config文件中:” https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html
希望这有帮助。