日期:2014-05-18  浏览次数:20970 次

如何使用非默认路径下的配置文件?
我的配置文件:
<?xml   version= "1.0 "   encoding= "utf-8 "   ?>
<configuration>
    <appSettings>
        <add   key= "ITC.ConnectionString "   value= "SSSSSS "/>
        <add   key= "SYS.ConnectionString "   value= "XXXXXX "/>
    </appSettings>
</configuration>

使用默认的app.config,编译生成后,在默认路径下为xxx.exe.config

程序安装在全国各地,各自有不同的服务器,所以配置文件会有不同,

由于使用ClickOnce发布,以方便更新,但是默认的配置文件会同时更新,

并且避免不了,所以想把配置文件放在另外的目录,不随系统发布,

使用默认路径时,用:

String   conString   =   ConfigurationSettings.AppSettings[key];

得到连接字符串和其他属性值,但是在非默认路径下,如何做?

-----------------------------

这个问题我查了很久,没有合适的答案,有提示用System.Configuration.ConfigurationManager   这个,

如果用这个,如何读出   配置文件中的各节点属性来呢?

------解决方案--------------------
up
------解决方案--------------------
获取连接字符串,用ConfigurationManager.ConnectionStrings[ " "]
获取其它属性值,用ConfigurationManager.AppSettings[ " "]
打开配置文件时,用ConfigurationManager.OpenExeConfiguration()
------解决方案--------------------
ConfigurationManager.OpenExeConfiguration(string exePath)

可以查查MSDN,ConfigurationManager类……
------解决方案--------------------
String conString = ConfigurationSettings.AppSettings[key];

得到连接字符串和其他属性值,但是在非默认路径下,如何做?
-----------------------------
使用ConfigurationSettings.AppSettings必须使用默认的config文件,就你的需求,你应该自己实现自己的配置文件,不要用app.config,然后读取的时候就自己写代码读取xml文件一样读取你的配置
------解决方案--------------------
自己写个xml文件。自己写个类读写即可
------解决方案--------------------
jf
------解决方案--------------------
操作xml文件或者ini文件吧,不要使用默认的配置文件就行了
------解决方案--------------------
写个xml操作类,把配置文件当作xml操作
------解决方案--------------------
是啊,操作xml也不算麻烦,而且还直观
------解决方案--------------------
用ConfigurationManager.OpenExeConfiguration得到Configuration对象
然后用Configuration.AppSettings得到配置节点
try...