我使用.NET Framework 4.7,ASP.NET Web窗体模板和身份验证模式单个用户帐户创建了 ASP.NET Web应用程序(.NET Framework)。
我的连接字符串
<add name="DefaultConnection" connectionString="server=mysql server;password=password;port=3306;uid=username;database=schemaname" providerName="MySql.Data.MySqlClient"/>
(其中填充了正确的值,但我不想发布它们...)
实体框架
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
错误
System.InvalidOperationException:'实体框架提供程序类型 'MySql.Data.MySqlClient.MySqlProviderServices,MySql.Data.Entity.EF6' 在ADO.NET提供程序的应用程序配置文件中注册 无法加载名称不变的'MySql.Data.MySqlClient'。使 确保使用了程序集限定名称,并且该程序集是 对正在运行的应用程序可用。看到 http://go.microsoft.com/fwlink/?LinkId=260882了解更多信息。'
在
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)//<-- this line
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
我已经阅读了以下内容:
当我修复错误后,修复后又出现了另一个错误,依此类推,所以我创建了一个新的项目,上面的设置如此,希望我能帮助我解决这个问题。 (这是我第一次使用ASP.NET Web窗体)
答案 0 :(得分:4)
您似乎正在使用MySql.Data.Entity 6.10.7。我猜你也在使用MySql.Data 8.0.11。
这两个库不兼容。适用于v8.x的Oracle renamed the package至MySql.Data.EntityFramework
。您需要卸载MySql.Data.Entity
并安装MySql.Data.EntityFramework
。