2013-04-08 69 views
6

我有一個Winform應用程序並且正在使用EntityFramework。應用程序在我的開發機器中運行得很好,但是當我嘗試在客戶端機器上運行時,我得到「指定的存儲提供程序在配置中找不到,或者無效」錯誤。我已經與客戶端分發了EntityFramework.dll。爲什麼我得到這個錯誤? 。我不把連接字符串中的app.config文件,因爲它是基於在運行時選擇的數據庫上的動態創建(我使用VistaDB的數據庫)EntityFramework,在配置中找不到指定的存儲提供者,或者無效

在app.config低於:

<configuration> 
<configSections> 
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
</configSections> 
<connectionStrings> 
</connectionStrings> 
<entityFramework> 
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
</entityFramework> 
</configuration> 
+3

可能的重複:http://stackoverflow.com/questions/8705108/mysql-entity-framework-error-the-specified-store-provider-cannot-be-found-in-t – Srinivas 2013-04-08 12:08:21

+1

這真的看起來像一個錯誤connectionString問題。特別檢查字符串的數據源部分,並確實對應於有效的數據庫。 – Alkaline 2013-04-08 13:04:13

+1

@Alkaline我沒有在app.config文件中放入任何連接字符串。它在運行時動態添加。此外,該應用程序在我的開發機器中工作正常該錯誤只出現在客戶端機器 – jeff 2013-04-08 13:37:21

回答

0

基於哪種類型的使用,你需要提供要由Entityframe使用ORM Db的設置數據庫的工作

<system.data> 
    <DbProviderFactories> 
     <remove invariant="MySql.Data.MySqlClient" /> 
     <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data" /> 
    </DbProviderFactories> 
    </system.data> 
+0

請提供一個解釋一起正確的代碼,人們在這裏學習以及解決他們的問題。 「爲什麼」和SO上的「如何」一樣重要。 – BenjaminPaul 2015-02-09 16:58:46

+0

根據您使用哪種類型的DataBase您需要提供將由Entityframe工作使用的Db ORM設置。 – Jay 2015-02-10 17:52:33

+0

編輯答案,不要在評論中留下額外的信息。 – BenjaminPaul 2015-02-11 09:29:06

2

我有這個問題。我卸載了連接器.NET並重新安裝它。現在它可以工作。

+0

這也適用於我。我必須每月重新安裝1-2次才能繼續工作,沒有任何意義...... – Diemauerdk 2015-04-22 07:37:57

+0

你是什麼意思的「連接.NET」,你在哪裏卸載(在第二臺機器上)? – 2016-03-28 09:34:15

相關問題