从C#中的App.config文件中读取密钥

时间:2012-09-02 10:56:20

标签: c# .net app-config

我想从C#中的App.config文件中读取一个密钥,我该怎么做?

我知道我可以使用它,

string filetype = ConfigurationSettings.AppSettings("filetype");

但我不想使用硬编码密钥。

原因是,在我的项目中,有两个库具有单独的app.config文件,具有单独的键。我想只通过一个类读取键,而不需要对它们进行硬编码。

2 个答案:

答案 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 ActionContent
  • Copy to Output DirectoryCopy Always

答案 1 :(得分:0)

我通过将配置对象用作

解决了这个问题

返回Instance.GetConfigValue(strLst.AppSettings.Settings.AllKeys.ElementAt(0));