我想从C#中的App.config
文件中读取一个密钥,我该怎么做?
我知道我可以使用它,
string filetype = ConfigurationSettings.AppSettings("filetype");
但我不想使用硬编码密钥。
原因是,在我的项目中,有两个库具有单独的app.config文件,具有单独的键。我想只通过一个类读取键,而不需要对它们进行硬编码。
答案 0 :(得分:6)
您可以在app.config中创建强类型部分,这样您就不需要在示例中使用“魔术字符串”键,例如“filetype”。
请参阅MSDN上的How to: Create Custom Configuration Sections Using ConfigurationSection。
创建这些部分有点牵扯,但是有一个优秀的Visual Studio插件可以从您的设计中生成所有代码和模式。请参阅:CodePlex上的Configuration Section Designer。
<强>更新强>
看起来我误解了问题的重点。没有办法使用多个 app.config 文件,或者放在类库中的 app.config 文件(据我所知)。在运行时,类库左边的所有内容都是它的DLL;默认情况下,任何app.config文件都不会被 msbuild 进程复制到应用程序中。
您可能需要考虑在每个类库中使用自己的XML配置文件,并设置其属性:
Build Action
至Content
Copy to Output Directory
至Copy Always
答案 1 :(得分:0)
我通过将配置对象用作
解决了这个问题返回Instance.GetConfigValue(strLst.AppSettings.Settings.AllKeys.ElementAt(0));