我正在开发一个将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文件上收到以下错误:


  在配置中找不到指定的存储提供程序,或者
  无效。


是否可以使用EntityFramework 5编译使用MySql的项目,但未安装MySqlConnector?

最佳答案

我遇到了同样的问题,如果您不想到处都安装MySqlConnector,我已经找到了解决方案

在文本模式下打开edmx文件,然后在其中查看“设计器”部分。
您应该将ValidateOnBuild属性设置为True。
将其设置为false,在构建时不会显示错误。

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


打开图时,属性窗口中提供相同的选项。

关于mysql - 是否可以在未安装MySqlConnector的情况下进行编译?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15251904/

10-13 02:03