我有一个使用Entity Framework和SQLServer的网站。当我尝试在Azure上运行我的应用程序时,我收到以下错误:
Unable to determine the provider name for provider factory of type 'system.data.sqlclient.sqlclientfactory'. make sure that the ado.net provider is installed or registered in the application config.
在现场一切正常。
我终于发现错误是由这个配置部分引起的(现在我不再使用了):
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, mysql.data" />
</DbProviderFactories>
</system.data>
我删除了它,现在它正常工作。
对于未来的读者,使用Visual Studio 2017 v.15.7时也可以看到同样的错误。我花了几天时间浏览网页寻找解决方案,并对这个GitHub post提到了EF Tooling中的一个错误。帖子中提到的对v.15.8的更新解决了我的问题。