它是一個非常具體的錯誤消息,但我找不到問題。無法找到請求的網絡框架數據提供程序
我有一個需要與數據庫進行通信的窗口服務,爲我做到以下幾點:
string provider = "Devart.Data.PostgreSql";
DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
但它崩潰了,給我這個錯誤:
System.ArgumentException: Unable to find the requested .Net Framework Data Provider. It may not be installed. at System.Data.Common.DbProviderFactories.GetFactory(String providerInvariantName)
我試着將Devart.Data.PostgreSql.dll移到bin文件夾中,但結果相同。
然後我檢查了我的machine.config,我有這樣的:
<add name="dotConnect for PostgreSQL"
invariant="Devart.Data.PostgreSql"
description="Devart dotConnect for PostgreSQL"
type="Devart.Data.PostgreSql.PgSqlProviderFactory, Devart.Data.PostgreSql, Version=7.4.506.0, Culture=neutral, PublicKeyToken=09af7300eec23701" />
因此,它看起來正確的,我沒有發現任何空標籤,發現在其他SO帖子,說刪除這些標籤當空虛可以解決問題,但我沒有任何。
所以我不知道是什麼問題。
我還創建了一個控制檯項目,它使用相同的.NET版本,並用確切的代碼:
string provider = "Devart.Data.PostgreSql";
DbProviderFactory factory = DbProviderFactories.GetFactory(provider);
和它的作品。有誰知道它會是什麼?
錯誤發生在哪裏?是否在DbProviderFactory工廠= DbProviderFactories.GetFactory(provider); – Woot
是的。該行發生錯誤。 – alface
你已經添加了Devart.Data.PostgreSql.dll作爲你的項目的參考? – Woot