2013-05-15 21 views
1

我有一個控制檯應用程序,其中的網站項目被添加爲DLL。內部DLL ConfigurationManager.ConnectionStrings["XXX"]被稱爲哪個總是返回nullConfigurationManager.ConnectionStrings [「XXX」]返回null

但在dll中的web.config具有名爲'XXX'的連接字符串。任何人都可以提出發生了什麼問題嗎?

+0

標記中是否有任何內容?我想你已經添加了連接字符串,但在其他標籤。看到這個http://msdn.microsoft.com/en-us/library/ms178411(v=vs.100).aspx – Ehsan

+0

是的我的web.config文件有標籤下面我添加了我的代碼 \t Lydia

+2

在您的控制檯應用程序配置中添加此 – Ehsan

回答

2

我不認爲.dll的.config文件會與dll一起添加到控制檯項目中。您需要在執行項目中使用.config。

+0

.config應該在.dll這個.dll中,我們將包含在許多控制檯應用程序中。 – Lydia

+1

@Lydia這不是一個簡單的解決方案:http://stackoverflow.com/a/1009227/1094268 –

0

您的配置文件不在.dll中。所以你沒有提及我會懷疑的東西!除非你手動將web.config文件複製到正確的位置或通過絕對路徑引用它?

2

嘗試將配置文件複製到您的控制檯項目。或者至少是連接字符串部分。可能在App.config中。

+0

是的,通常是通過後生成處理 - 複製所有需要的cfg文件 –

0

web.config用於Web應用程序。

對於控制檯應用程序,您必須使用app.config。嗯,實際上這是C#的默認配置,我不會感到驚訝的是,某些高級用戶可能會讓它繞着另一條路走。

0

我有一個稍微不同的問題,我沒有看到答案。我正在使用。

ConfigurationManager.ConnectionStrings [「XXXX」]。ConnectionString;

當我打開web.config時,我看到我創建的連接字符串前綴爲「WebApplicationAPI.Properties.Settings」。 - 將整個字符串放入工作中:

ConfigurationManager.ConnectionStrings [「WebApplicationAPI.Properties.Settings.XXXX」]。ConnectionString;