C# 从C中的App.config文件中读取密钥#
我想从C#中的C# 从C中的App.config文件中读取密钥#,c#,.net,app-config,C#,.net,App Config,我想从C#中的App.config文件中读取一个密钥,我该怎么做 我知道我可以用这个 string filetype=ConfigurationSettings.AppSettings(“filetype”) 但我不想用硬编码的钥匙 原因是,在我的项目中,有两个库具有单独的app.config文件和单独的键。我只想通过一个类读取密钥,而不需要硬编码。您可以在app.config中创建强类型部分,这样您就不需要在示例中使用“魔法字符串”密钥,如“文件类型” 请参阅:关于MSDN 创建这些部分有点复
App.config
文件中读取一个密钥,我该怎么做
我知道我可以用这个
string filetype=ConfigurationSettings.AppSettings(“filetype”)代码>
但我不想用硬编码的钥匙
原因是,在我的项目中,有两个库具有单独的app.config文件和单独的键。我只想通过一个类读取密钥,而不需要硬编码。您可以在app.config中创建强类型部分,这样您就不需要在示例中使用“魔法字符串”密钥,如“文件类型”
请参阅:关于MSDN
创建这些部分有点复杂,但是有一个优秀的VisualStudio插件可以从您的设计中生成所有代码和模式。请参阅:关于CodePlex
更新
看来我误解了问题的重点。无法使用多个app.config文件,也无法使用放置在类库中的app.config文件(据我所知)。在运行时,类库剩下的就是它的DLL;默认情况下,msbuild进程不会将任何app.config文件复制到应用程序
您可能想考虑在每个类库中使用自己的XML配置文件,并设置其属性:
构建操作
到内容
复制到输出目录
到始终复制
我使用配置对象解决了这个问题
返回Instance.GetConfigValue(strLst.AppSettings.Settings.AllKeys.ElementAt(0)) “但我不想给AppSettings硬编码的值”-为什么?您唯一的其他选择是使用硬编码代码读取配置。除非我对您试图实现的目标理解错误。您可以始终使用变量而不是“filetype”
-这对您来说还不够硬编码吗?你到底想达到什么目的?编辑:软编码?你会怎么称呼它?这意味着在我的项目中有两个库,分别具有app.config和单独的键。我只想通过一个类来阅读这些键,这样我就不需要硬编码的值了。请看我更新的答案。没有办法使用单独的app.config文件——我能想到的最好方法是将您自己的XML文件添加到项目中并编写代码来解析它。这是否也适用于app.config
?@millimoose是的,app.config也是。