2017-01-09 71 views
0

我想從app.config文件的appSettings部分讀取值。我不明白爲什麼,但ConfigurationManager只讀第一個鍵(log4net.Internal.Debug),同時我需要另外兩個鍵。這裏是appSettings。ConfigurationManager.AppSettings只讀第一個鍵

<appSettings> 
    <add key="log4net.Internal.Debug" value="true" /> 
    <add key="SendGridUser" value="some value" /> 
    <add key="SendGridPassword" value="some value" /> 
    </appSettings> 

下面是代碼:

var username = ConfigurationManager.AppSettings["SendGridUser"]; 
var password = ConfigurationManager.AppSettings["SendGridPassword"]; 
+0

您是否收到任何錯誤或空白值? –

+0

這段代碼沒有錯。問題在於你沒有向我們展示的部分代碼。 – Sefe

+0

它總是讀取第一個值嗎? – NicoRiff

回答

2

如果在調試模式下,您在AppSettings收集看到的只有一個鍵,那麼就意味着ConfigurationManager不讀書,你認爲它應該讀取配置文件。可能的原因:

  • 您不必「複製總是」選擇配置文件Copy to Output Directory設置「如果較新的複製」。因此文件未在生成文件夾中更新。
  • 調試版本中存在transformation文件,用於從配置中刪除一些設置。檢查解決方案資源管理器中是否有App.Debug.config
+0

當然,這個特殊的app.config沒有轉換。你是正確的複製到輸出目錄設置,但這並沒有幫助。 –

+0

@ andrey.shedko嗯嘗試重建解決方案,並檢查你有什麼在項目生成文件夾 –