2014-02-17 51 views
9

我使用app.config文件保存憑據,當我嘗試找回它們,我得到了TypeLoadException如下:TypeLoadException

未能加載類型「System.Configuration.DictionarySectionHandler」 從裝配'System.Configuration,版本= 4.0.0.0,文化=中立, 公鑰= b03f5f7f11d50a3a'

這是一個.NET 4.5的項目,我設置了SystemSystem.ConfigurationCopy-Local屬性true,我不明白問題來自哪裏。我在.NET編程方面沒有經驗,所以對彙編的概念不太放心。

下面是代碼片段:

的app.config

<configSections> 
    <sectionGroup name="Credentials"> 
    <section name="Twitter" type="System.Configuration.DictionarySectionHandler"/> 
    </sectionGroup> 
</configSections> 

<Credentials> 
<Twitter> 
    <add key="****" value="*****"/> 
    <add key="****" value="*****"/> 
    </Twitter> 
</Credentials> 

連接服務文件

var hashtable = (Hashtable)ConfigurationManager.GetSection("Credentials/Twitter"); 

我知道這是一個常見的問題,我用Google搜索它發佈之前。但迄今爲止我發現的所有解決方案似乎都不起作用,或者我可能沒有正確理解它們。

預先感謝您。

+4

「類型」屬性的格式不正確,它需要完全限定的類型名稱:「System.Configuration.DictionarySectionHandler,系統,版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089「 –

+1

就是這樣!我已經嘗試過,但我想我忘記了其中一個元素。非常感謝你 ! –

回答

0

參照msdn documentation,您需要使用Fully qualified class nameapp.config,正如漢斯所說。在你的代碼,這將是

<sectionGroup name="Credentials"> 
    <section name="Twitter" type="System.Configuration.DictionarySectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> 
</sectionGroup>