读取app.config文件的问题

chome 2008-05-08 11:50:50
文件中配置节如下,
<configuration>
<appSettings>

<add key="strDbConnect" value="Data Source=SOUTH-164DA4951;Initial Catalog=FLS_DATA;User ID=sa;Password=;max pool size=20;min pool size=5; connection timeout=10; Pooling=true"/>
<add key="strMapRequestURL" value="http://mysouth/servlet/com.esri.esrimap.Esrimap?ServiceName=t2;ClientVersion=4.0;Encode=False"/>
</appSettings>
</configuration>

代码中如下:
String^ ss = ConfigurationManager::AppSettings["strDbConnect"];

问题是:
ss为空,也就是读不到,请问是哪里出问题了,?
...全文
256 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
chome 2008-05-08
  • 打赏
  • 举报
回复
那应该就没错了,可是还是读不到,我建的是一个拖管的窗体工程,
贫僧又回来了 2008-05-08
  • 打赏
  • 举报
回复
放在与窗体文件的同一目录下啊!
chome 2008-05-08
  • 打赏
  • 举报
回复
还是不行,配置文件的位置正确的应该放在哪里?
贫僧又回来了 2008-05-08
  • 打赏
  • 举报
回复
string sqlconn = System.Configuration.ConfigurationManager.AppSettings["connstring"];
贫僧又回来了 2008-05-08
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnString" value="User ID=sa;PWD=;Data Source=.;Initial Catalog=EMgn_BYang_Sale" />
</appSettings>
</configuration>

chome 2008-05-08
  • 打赏
  • 举报
回复
谁能把成功过的配置文件贴一下吗,?我看下是不是配置文件里面有什么问题
贫僧又回来了 2008-05-08
  • 打赏
  • 举报
回复
重新生成下解决方案什么的,或者关了再开!
chome 2008-05-08
  • 打赏
  • 举报
回复
就是在工程下面添加新项的时候加了app.config文件的,引用,命名空间什么的都加了,也没有提示什么错误,就是执行后就是空的
t88266236 2008-05-08
  • 打赏
  • 举报
回复
不会吧,我都可以读出来,是不是改过配置文件名字哟
ericzhangbo1982111 2008-05-08
  • 打赏
  • 举报
回复
c++的

你的app文件放的位置不对?
贫僧又回来了 2008-05-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fengniumaxi 的回复:]
C# code
string ss=System.Configuration.ConfigurationSettings.AppSettings["strDbConnect"];
//C#版本的
[/Quote]
这个比较老,VS2005用ConfigurationManager比较好
贫僧又回来了 2008-05-08
  • 打赏
  • 举报
回复
在解决方案的引用也都加了?using System.Configuration;
照理这些都加了应该能取到的啊?
fengniumaxi 2008-05-08
  • 打赏
  • 举报
回复

string ss=System.Configuration.ConfigurationSettings.AppSettings["strDbConnect"];
//C#版本的
chome 2008-05-08
  • 打赏
  • 举报
回复
都添了,还是为空,上面的方法全试了,
huo126 2008-05-08
  • 打赏
  • 举报
回复
VB的要怎么写啊?
贫僧又回来了 2008-05-08
  • 打赏
  • 举报
回复
string sqlconn = System.Configuration.ConfigurationManager.AppSettings["connstring"];
添加引用了吗?
zhnzzy 2008-05-08
  • 打赏
  • 举报
回复

string ss=System.Configuration.ConfigurationSettings.AppSettings["strdbconnect"]
Ablan_Wang 2008-05-08
  • 打赏
  • 举报
回复
string ^ss=configurationmanager.appsettings["strdbconnect"];
chome 2008-05-08
  • 打赏
  • 举报
回复
谢谢,魔语的是正解,谢谢大家,分不多,
还有非常热心的Guyschaos
Magicwords 2008-05-08
  • 打赏
  • 举报
回复
没有从根本上解决问题,
.net下面,建的C#窗体程序生成以后在debug目录下面会自动将一些需要的文件生成成自已的文件格式,与webservcie不同,
仔细对比一下,可以发现,在C#窗体程序生成的debug下会比用拖管C++生成的多了一个xx.exe.config文件,关键就在这个地方,
使用ConfigurationManager类读取的时候是读的应用程序本身的配置文件(一般都不会用绝对路经的)
测试一下就可以发现,你将C#下的debug中的那个配置文件删掉,后也读不出来了,

用拖管C++的时候.NET不会自动生成一些配置文件,所以解决方法是:

将你的app.config文件拷贝到debug目录下,然后重命名为你的应用程序名称,命名后的格式为:xxx.exe.config

然后在程序中用楼上那些方法中的任何一个都可以,只是C#中是.拖管下是::

100%分100正确,小弟,给分吧,!!
加载更多回复(7)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧