我正在开发一个使用MySql连接实现Entity Framework 5的应用程序。构建解决方案适用于我的机器。
在没有安装MySQLConnector的计算机上运行应用程序也有效,因为我在app.config文件中添加了以下内容:
<system.data>
<DbProviderFactories>
<clear />
<add name="MySQL Data Provider"
invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
但是其他只想编译和运行我的解决方案的程序员,在.edmx文件上得到以下错误:
在配置中找不到指定的商店提供商,或 无效。
是否可以编译使用MySql和EntityFramework 5的项目,但是没有安装MySqlConnector?
答案 0 :(得分:1)
我遇到了同样的问题,如果您不想在任何地方安装MySqlConnector,我刚刚找到了解决方案
以文本模式打开edmx文件,然后查看其中的Designer部分。 您应该将ValidateOnBuild属性设置为True。 将其设置为false,并且在构建时不会显示错误。
<Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
[...]
<Options>
<DesignerInfoPropertySet>
<DesignerProperty Name="ValidateOnBuild" Value="False" />
[...]
打开图表时,属性窗口中的相同选项可用。
答案 1 :(得分:0)
我认为不。但我当然不知道......你可以等待其他答案。
答案 2 :(得分:0)
您需要在每台计算机上都有MySql.Data.dll
和MySql.Data.Entity.dll
,因为构建依赖于它们。它们可以在操作系统中注册,也可以简单地放在构建路径中以查找它们。
有关相关问题,请参阅here。
答案 3 :(得分:0)
我找到了答案:
没有安装MySQL Connector的其他机器实际上可以正确编译解决方案,没有错误。
但是,edmx设计器会自动使用弹出错误列表。在配置中找不到指定的存储提供程序,或者无效。错误。但这不是构建错误!