我使用的.NET MySQL連接與實體框架4,一切偉大的工作,但我想在服務器上部署的時候,所以我們不必打包與我的應用程序的MySQL客戶端的DLL文件擔心在每臺服務器上安裝mysql,每個應用程序都會擁有它所需的正確副本。.NET MySQL連接衝突DbProviderFactories
要做到這一點,我確信MySQL的參考文獻有「複製本地」設置,這樣他們就可以複製到bin文件夾中,並添加以下到我的app.config:
<system.data>
<DbProviderFactories>
<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.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
這工作和我能夠沒有在遠程服務器上安裝MySQL部署的應用程序,但現在我有我的本地開發機器上的問題(如果我做已經安裝了MySQL連接器),當EF嘗試我得到這個錯誤連接:
'InvariantName'列被限制爲唯一。值 「MySql.Data.MySqlClient」已經存在。
如果我註釋掉上面在app.config中添加的XML,錯誤就會消失。這很可能是因爲相同的驅動程序安裝在系統上並位於machine.config中。
解決方案是什麼?我寧願不必手動評論和取消註釋,這取決於我構建應用程序的系統。
完美作品的服務器和本地機器上都。謝謝! – Kekoa
我是有這個問題也和這個工作就像一個魅力。我想這將是這樣的事情,但不認爲嘗試不變關鍵字。 –
這也適用於我!萬分感謝 :) – DigitalRayne