ConfigurationManager是如何和App.config关联上的

clever101
博客专家认证
2020-09-22 04:42:50
大家好!我有一个疑惑,就是我新建一个.NET Framework类库工程,然后新添加一个应用程序配置文件App.config,在App.config添加内容:

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="dbSql" value="Data source=SQLEXPRESS;initial catalog=guangxio1;user id=sa;password=guest"/>
</appSettings>
</configuration>


然后在编写C#代码,在代码中就能这样获取App.config中的内容:

string strConnect = ConfigurationManager.AppSettings["dbSql"];


我比较疑惑的一点是ConfigurationManager这个对象是如何找到App.config,它俩是如何关联上的呢?再假设我再添加一个应用程序配置文件,它怎么区分找哪个应用程序配置文件呢?我找遍工程属性,也没找到它俩怎么关联起来的证据。

...全文
25481 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
一叶知秋~ 2020-10-22
  • 打赏
  • 举报
回复
我觉得你这个问题可以去问微软开发工程师可以解决你的疑惑
  • 打赏
  • 举报
回复
配置文件的位置是默认规则定义好的。进程捕获配置文件更改时间,自动刷新配置对象。
程老师2088 2020-10-03
  • 打赏
  • 举报
回复
就是固定的一个文件路径而已啦
clever101 2020-09-23
  • 打赏
  • 举报
回复
引用 5 楼 正怒月神 的回复:
app.config只是当前项目的配置文件。 在你发布后,会产生一个 项目名称.config的文件,它和 项目名称.dll 同在bin目录下。 其实,你可以试试看,在发布后,修改 项目中的app.config,并不会影响 bin目录下 exe的项目配置。 因为exe使用的是 项目名称.config的文件。 网站也是同理。 winform: web:
关键是web项目下的MVC.dll.config这个文件能不能用呢?就是能不能起到配置文件呢?
正怒月神 2020-09-23
  • 打赏
  • 举报
回复
app.config只是当前项目的配置文件。
在你发布后,会产生一个 项目名称.config的文件,它和 项目名称.dll 同在bin目录下。

其实,你可以试试看,在发布后,修改 项目中的app.config,并不会影响 bin目录下 exe的项目配置。
因为exe使用的是 项目名称.config的文件。
网站也是同理。
winform:


web:
正怒月神 2020-09-23
  • 打赏
  • 举报
回复
引用 6 楼 clever101 的回复:
[quote=引用 5 楼 正怒月神 的回复:]app.config只是当前项目的配置文件。 在你发布后,会产生一个 项目名称.config的文件,它和 项目名称.dll 同在bin目录下。 其实,你可以试试看,在发布后,修改 项目中的app.config,并不会影响 bin目录下 exe的项目配置。 因为exe使用的是 项目名称.config的文件。 网站也是同理。 winform: web:
关键是web项目下的MVC.dll.config这个文件能不能用呢?就是能不能起到配置文件呢?[/quote] 能不能用,你直接修改一下,然后exe输出看看就知道了啊。
八爻老骥 2020-09-22
  • 打赏
  • 举报
回复
引用 2 楼 clever101 的回复:
[quote=引用 1 楼 icoolno1 的回复:]不就是Exe文件的名字么。你可以程序编译好程序下找找,会发现有个跟exe对应的exe.config文件。


如果是一个类库呢,生成一个*.dll.config,那这个会出现这个错误:当不在独立exe内部运行时,必须指定exePath,如下图:

[/quote]

要配在exe下边的,dll太多了,没法辨别,所以dll.config没用。
clever101 2020-09-22
  • 打赏
  • 举报
回复
clever101 2020-09-22
  • 打赏
  • 举报
回复
引用 1 楼 icoolno1 的回复:
不就是Exe文件的名字么。你可以程序编译好程序下找找,会发现有个跟exe对应的exe.config文件。
如果是一个类库呢,生成一个*.dll.config,那这个会出现这个错误:当不在独立exe内部运行时,必须指定exePath,如下图:
八爻老骥 2020-09-22
  • 打赏
  • 举报
回复
不就是Exe文件的名字么。你可以程序编译好程序下找找,会发现有个跟exe对应的exe.config文件。

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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