有谁知道在2005 的winapp程序App.config自定义一个节点格式?以及如何读取?搜遍csdn的帖子和baidu未发现可用的,都不适合,听说2005得用属性配置,到底该如何做呢?
我希望读取方式是这样的:
 NameValueCollection col = (NameValueCollection)ConfigurationManager.GetSection("MyConfig");string myServer=col["Server"];
string myUser=col["User"];在App.config中如何配置节点?仿照webService生成的格式配置了个,但是总取得null,请大虾指点,闷了三天了,所有地方都馊了,就是没馊到... ...

解决方案 »

  1.   

    <appSettings>就可以了啊,这个很常见的吧
      

  2.   

    <configuration>
    <appSettings>
    <add key="MyServer" value="localhost" />
    <add key="Myuser" value="sa" />
    </appSettings>
    </configuration>
      

  3.   

    读取就更简单了吧,2005有专门的用于读取配置文件的类
    system.configation下面
      

  4.   

    把system.configation加入引用。用它的manager超好用。看它的帮助即可明白。
      

  5.   

    <configuration>
    <configSections>
    <section name="S" type="System.Configuration.NameValueSectionHandler"/>
    </configSections>
    <S>
      <add key="v" value="1"/>
    </S>
    </configuration>NameValueCollection col = (NameValueCollection)ConfigurationManager.GetSection("S");
      

  6.   

    自带的还有两种sectionhandler,如果自己写,定义成什么格式都行,即NameValueCollection和NameValueSectionHandler都用自定义的类来代替
      

  7.   

    <?xml version="1.0"?>
    <!-- 
        注意: 除了手动编辑此文件以外,您还可以使用 
        Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
         “网站”->“Asp.Net 配置”选项。
        设置和注释的完整列表在 
        machine.config.comments 中,该文件通常位于 
        \Windows\Microsoft.Net\Framework\v2.x\Config 中
    -->
    <configuration>
    <appSettings>
        <add key="ServerName" value="192.168.0.85" /> <!--数据库服务器地址192.168.0.85-->
        <add key="DataBase" value="puer" />    <!--数据库名称-->
        <add key="UserID" value="sa" />    <!--数据库用户-->
        <add key="Password" value="sa" />    <!--数据库用户密码-->
    </appSettings>
    <connectionStrings/>
    <system.web>
    result =  "data source = "
                    + System.Configuration.ConfigurationManager.AppSettings["ServerName"]
                    + ";initial catalog = "
                    + System.Configuration.ConfigurationManager.AppSettings["DataBase"]
                    + ";user id = "
                    + System.Configuration.ConfigurationManager.AppSettings["UserID"]
                    + ";password = "
                    + System.Configuration.ConfigurationManager.AppSettings["Password"]
                    + ";persist security info = True";
      

  8.   

    请各位大虾看好,是winapp程序App.config
      

  9.   

    我再重复下问题,可能偶表达有问题,好多大虾,不是针对问题回答的,重点位置标记引号
    在“VS2005“ 的“winapp程序App.config““自定义一个节点“我希望读取方式是这样的:
     NameValueCollection col = (NameValueCollection)ConfigurationManager.GetSection("MyConfig");string myServer=col["Server"];
    string myUser=col["User"];
    “在App.config中如何配置节点?“  
     昂得死蛋?好多人不是针对我的问题回答耶,还是感谢关注!!
      

  10.   

    唉,沟通真难.都写出来了.再贴个地址吧
    http://www.cnblogs.com/sunrack/articles/350345.html
      

  11.   

    scow(怡红快绿)  大哥,您的地址俺N天前拜读过了,可是在2003下用还是可以的,然而,可但是到了2005下,我如是这般试了,就是不行,完全照搬的,还检查了几遍,刚才大哥既然又给出了这个例子,俺想俺估计是搞错了,就又新建了个项目重新Debug了下,仍就不行,不知老大是否在2005下调试过??真是急人... ...
      

  12.   

    终于哦K了,原来是例子中的属性标记配置部分少了一点儿属性的配置,加上就可以了,感谢各位!现在把我的调试通过的结果发出来,与大家共享app.config
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <configSections>
            <section name="Test3" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        </configSections>
        <Test3>
            <add key="Hello" value="World" />
        </Test3>
    </configuration>
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    调用部分的代码:
    (需要
    using System.Configuration;  // 引用前需要添加此dll的引用
    using System.Collections.Specialized; 
    )
    —————————————————————————————————
                //访问配置节Test3
                NameValueCollection nc = (NameValueCollection)ConfigurationSettings.GetConfig("Test3");
                MessageBox.Show(nc.AllKeys[0].ToString() + " " + nc["Hello"]);    //输出Hello World
      

  13.   

    NameValueCollection nc = (NameValueCollection)ConfigurationManager.GetSection("Test3");这句在VS2005下能用;