簡體   English   中英

將app.config文件放在具有多個項目的解決方案中的位置-錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM