0

EntityFramework5にMySql接続を使用するアプリケーションを開発しています。ソリューションの構築は私のマシンで機能します。

app.configファイルに以下を追加したため、MySQLConnectorがインストールされていないマシンでアプリケーションを実行することもできます。

<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ファイルで次のエラーを受け取ります。

指定されたストアプロバイダーが構成に見つからないか、無効です。

MySqlConnectorがインストールされていないが、EntityFramework 5でMySqlを使用するプロジェクトをコンパイルすることは可能ですか?

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

私は私の答えを見つけました:

MySQLコネクタがインストールされていない他のマシンは、実際にはエラーなしでソリューションを正常にコンパイルできます。

ただし、edmxデザイナーは、指定されたストアプロバイダーが構成に見つからないか、無効であるというエラーリストを自動的にポップアップ表示します。エラー。しかし、それはビルドエラーではありません!

于 2013-03-06T22:11:17.970 に答える
0

いいえいいえと思います。しかし、確かに私にはわかりません... 他の回答を待つことができます.

于 2013-03-06T15:56:52.690 に答える
0

ビルドはマシンに依存しているため、各マシンで使用できる必要がMySql.Data.dllあります。MySql.Data.Entity.dllそれらは OS に登録するか、単にビルドのパスに配置してそれらを見つけることができます。

関連する質問については、こちらを参照してください。

于 2013-03-06T15:57:12.313 に答える