当我刚拿到app.config时,每当我尝试使用ConfigurationManager.AppSettings [0]或ConfigurationManager.AppSettings [“keyName”]时,我得到一个null。所以我尝试使用* .settings文件创建了一个看起来像这样的app.config
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="IndexLoader.IndexLoader" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<IndexLoader.IndexLoader>
<setting name="ConnectionString" serializeAs="String">
<value>INITIAL CATALOG=xxx;DATA SOURCE=xxx;User ID=xxx;Password=xxx;Application Name=xxx;</value>
</setting>
</IndexLoader.IndexLoader>
</applicationSettings>
</configuration>
现在如何使用C#读取此连接字符串?
该解决方案有多个项目,其中许多都有配置文件。有没有办法指定我想要使用代码项目中的配置文件?
答案 0 :(得分:5)
applicationSettings
不是appSettings
。
要在applicationSettings中读取条目,请使用
string myCnStr = Properties.Settings.Default.ConnectionString;
在你的情况下,它将是
string myCnStr =IndexLoader.IndexLoader.Default.ConnectionString;
但是ConnectionString在app.config中有一个专用部分,应该存储在那里 并从ConfigurationManager.ConnectionStrings集合中读取
See here参考