是否可以在没有安装MySqlConnector的情况下进行编译?

时间:2013-03-06 15:51:24

标签: mysql entity-framework entity-framework-5 mysql-connector

我正在开发一个使用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?

4 个答案:

答案 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.dllMySql.Data.Entity.dll,因为构建依赖于它们。它们可以在操作系统中注册,也可以简单地放在构建路径中以查找它们。

有关相关问题,请参阅here

答案 3 :(得分:0)

我找到了答案:

没有安装MySQL Connector的其他机器实际上可以正确编译解决方案,没有错误。

但是,edmx设计器会自动使用弹出错误列表。在配置中找不到指定的存储提供程序,或者无效。错误。但这不是构建错误!