CSDN-CSDN社区-.NET技术-C#

收藏 [推荐] 如何多个WINFORM项目(多个EXE)共用APP.CONFIG?[问题点数:20]

  • zjkkkk
  • 等 级:
  • 结帖率:
楼主发表于:2008-04-02 17:57:03
解决方案中有有好几个WINFORM项目,生成的EXE在同一个文件夹内,现在想让他们共享配置文件,就是APP.CONFIG文件,请问有办法解决吗?
回复次数:15
#1楼 得分:0回复于:2008-04-02 20:29:43
直接读就是了.只要指定清楚路径.
#2楼 得分:0回复于:2008-04-02 20:33:27
写一个类,读写app.config文件,其它项目都通过这个类调用.
#3楼 得分:0回复于:2008-04-02 20:46:31
建议把这个app.config文件放在BIN目录下,通过程序集来获取相应路径,之后都指定这个路径就OK了
#4楼 得分:0回复于:2008-04-03 09:00:31
#5楼 得分:0回复于:2008-04-03 16:27:50
^ō^ 加点分..

C# code
System.AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"指定 App.config 位置");
#6楼 得分:0回复于:2008-04-03 16:41:18
<推荐置精>
#7楼 得分:0回复于:2008-04-04 15:39:19
^ō^ 方法二(System.configuration.dll):

C# code
System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath); string value = config.ConnectionStrings.ConnectionStrings["key"].ToString(); //使用范例.. config = null;
#8楼 得分:0回复于:2008-04-04 15:59:54
冒泡接分

好像记得有app.config可以包含子config的一说
#9楼 得分:0回复于:2008-04-04 17:06:43
完成可以
#10楼 得分:0回复于:2008-04-04 17:07:11
完全可以
  • CNBT用户头像
  • CNBT
  • (bearhand)
  • 等 级:
#11楼 得分:0回复于:2008-09-07 11:22:00
对,使用这个方法完全可以,但是要注意那个参数exePath,他不是config文件的路径。
详细请看:http://www.cnblogs.com/bearhand/archive/2008/09/07/1279087.html
  • twobug用户头像
  • twobug
  • (江山)
  • 等 级:
#12楼 得分:0回复于:2008-09-15 17:54:36
配置文件中大部分节点支持一个ConfigSource属性,这里面指定那个配置文件路径即可, appSettings使用file=...
  • wsp6188用户头像
  • wsp6188
  • (踏雪寻梅)
  • 等 级:
#13楼 得分:0回复于:2008-10-30 09:02:28
正好遇到这个问题,顶一下先!
  • wsp6188用户头像
  • wsp6188
  • (踏雪寻梅)
  • 等 级:
#14楼 得分:0回复于:2008-10-30 15:18:13
/// <summary>
    /// 读取Ecms_cs.exe.config参数.
    /// </summary>
    /// <param name="name"> </param>
    /// <returns> </returns>
    public string getSystemParam(string name)
    {
        string configFileName = Application.StartupPath + "\\Ecms_cs.exe.config";//请根据实际情况修改
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
        doc.Load(configFileName);
        string configString = @"configuration/userSettings/Ecms_cs.Settings1/setting[@name='" + name + "']/value";//请根据实际情况修改
        System.Xml.XmlNode configNode = doc.SelectSingleNode(configString);
        if (configNode != null)
        {
            return configNode.InnerText;
        }
        return "";
    }
请根据实际情况修改
#15楼 得分:0回复于:2009-01-01 14:10:49
^ō^ 方法二(System.configuration.dll):


C# codeSystem.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath);

string value = config.ConnectionStrings.ConnectionStrings["key"].ToString(); //使用范例..

config = null;

-------------------------------------------------------------------------------
在WinForm中根本没有ConfigurationManager,这个只是存在WebForm中.
App.config时WinForm中