0

我正在为实体框架 5 开发一个使用 MySql 连接的应用程序。构建解决方案可以在我的机器上运行。

在没有安装 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

4 回答 4

1

我遇到了同样的问题,如果您不想在任何地方安装 MySqlConnector,我刚刚找到了解决方案

以文本模式打开 edmx 文件并查看其中的 Designer 部分。您应该将 ValidateOnBuild 属性设置为 True。将其设置为 false,您将不会在构建时显示错误。

<Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
    [...] 
    <Options>
      <DesignerInfoPropertySet>
        <DesignerProperty Name="ValidateOnBuild" Value="False" />
        [...] 

打开图表时,在属性窗口中可以使用相同的选项。

于 2014-09-29T18:26:25.027 回答
0

我认为不不。但我当然不知道......你可以等待其他答案。

于 2013-03-06T15:56:52.690 回答
0

您需要在每台机器上拥有MySql.Data.dll并且MySql.Data.Entity.dll可用,因为构建依赖于它们。它们可以在操作系统中注册,也可以简单地放置在构建路径中以找到它们。

有关相关问题,请参见此处

于 2013-03-06T15:57:12.313 回答
0

我找到了答案:

其他没有安装 MySQL 连接器的机器实际上可以很好地编译解决方案,没有错误。

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

于 2013-03-06T22:11:17.970 回答