4

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

我知道我可以用这个,

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

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

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

4

2 回答 2

6

您可以在 app.config 中创建强类型部分,这样您就不需要在示例中使用诸如“filetype”之类的“magic string”键。

请参阅:如何:使用MSDN 上的 ConfigurationSection 创建自定义配置部分。

创建这些部分有些复杂,但是有一个出色的 Visual Studio 插件可以从您的设计中生成所有代码和架构。请参阅: CodePlex 上的配置部分设计器。

更新

看来我误解了问题的重点。没有办法使用多个app.config文件,或者一个放在类库中的 app.config 文件(据我所知)在运行时,类库剩下的就是它的 DLL;默认情况下,任何 app.config 文件都不会被msbuild进程复制到应用程序中。

您可能需要考虑在每个类库中使用自己的 XML 配置文件,并设置其属性:

  • Build ActionContent
  • Copy to Output DirectoryCopy Always
于 2012-09-02T11:02:46.420 回答
0

我通过使用配置对象解决了这个问题,

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

于 2012-09-03T08:04:11.603 回答