[英]Accessing keys in appSettings in App.config across multiple projects in solution
[英]Where to put app.config file in solution with multiple projects- error
我有一個問題。 我提出了解決方案,它是3層應用程序。 因此,我有3個項目是類庫,一個是Windows窗體應用程序,它將使用我來啟動所有這些並將它們連接在一起。 問題是我有用於數據層的app.config文件。 如果我將其放在該dll中,則無法讀取。 如果將其放在主程序(Windows窗體應用程序)中,我仍然無法讀取它。
所以我的問題是將app.config文件放在哪里,以便我可以正常讀取它? 我正在從DLL讀取它。 一定要這樣,因為它是3.tier應用程序,並且所有層都是獨立的。 因此之一是數據層,商務邏輯和表示層。
請幫忙。
編輯:
好吧,我將傳遞一些代碼:
所以我正在像這樣從數據層app.config文件中讀取:
SqlConnection konekcija = new SqlConnection(ConfigurationManager.AppSettings["skripta"]);
該類庫項目中的app.config文件為:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
<appSettings>
<add key="skripta"
value="Data Source=DENONTH-PC;Initial Catalog=rups;Integrated Security=True;Pooling=False" />
</appSettings>
</configuration>
我在該類librabry和Windows窗體項目中有app.config,但仍然沒有適當地引用它。
通常,每個項目只有一個app.config,但是實際值保留在主(通常是UI)應用程序的配置中。 然后,我創建一個Core / Utility項目,然后在其中創建一個類,該類負責公開配置鍵/值。 Core / Utility項目沒有依賴項,但是可以(並且被!)需要配置值的任何項目引用。 如果有一天我想切換到例如數據庫驅動的配置,它將為我提供一個非常簡單的抽象層。
所以最后:將所有內容放入Windows窗體配置中。 如果使用ConfigurationManager類,則應該可以從類庫中完全訪問它。
編輯#1:首先,如果要存儲和使用連接字符串,請正確執行操作,這意味着:在app.config中:
<connectionStrings>
<add name="ConnString" connectionString="server..."/>
</connectionStrings>
在代碼中:
ConfigurationManager.ConnectionStrings["ConnString"];
現在試試。 我很確定您做錯了什么,因為您的代碼應該可以正常工作。
You can add app config file in windows application. You can access it by using ConfigurationManager class.
也請參考此鏈接,希望對您有所幫助。
訪問http://msdn.microsoft.com/zh-cn/library/ms184658%28v=vs.80%29.aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.