首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.Net如何处理解决方案的所有项目中的配置文件?

.Net如何处理解决方案的所有项目中的配置文件?
EN

Stack Overflow用户
提问于 2018-08-03 21:48:39
回答 2查看 34关注 0票数 0

假设有一个包含两个类库项目的.Net解决方案:一个是数据访问层,另一个是业务逻辑层。这些项目都有一个app.config文件。还有一个Web项目和一个Windows Forms项目,每个项目都有自己的配置文件,即分别是app.configweb.config

现在,如果我将Windows Forms项目设置为启动项目,运行它并通过ConfigurationSettings.AppSettings.Get("Some-key")检查设置,结果发现我只能访问Windows Forms设置,这意味着我必须将所有应用程序设置放在此文件中。此外,我需要复制web.config中的设置(我仍然不确定这是否是预期的行为,或者我必须以不同的方式做事情。有没有人能在这里说点什么?)

我的问题是:在相关项目中分发应用程序配置是否有意义(例如,将数据库连接字符串保留在数据访问项目配置文件中)?

如果是,那么我们如何从一个程序集访问另一个程序集的设置?

如果不是,为什么.Net要为不可执行的项目创建配置文件?

第三个问题:有没有一种简单整洁的方法来整合配置文件?

EN

回答 2

Stack Overflow用户

发布于 2018-08-03 23:22:27

在相关项目中分发应用程序配置是否有意义(例如,将数据库连接字符串保留在数据访问项目配置文件中)?

否-它们将被忽略。将只使用正在执行的程序集的配置文件(禁止任何特殊设置来导入其他配置,等等)

那么我们如何从一个程序集访问另一个程序集的设置呢?

未配置程序集;但配置了应用程序。这就是为什么app.config不仅应该包含配置可执行文件所需的所有信息,还应该包含配置所有依赖程序集所需的所有信息。

为什么.Net要为不可执行的项目创建配置文件?

因此,您可以通过一个示例来了解程序集使用了哪些设置。

有没有一种简单整洁的方法来整合配置文件?

有一些工具和技巧可以让它变得更简单(随意搜索),但根据我的经验,只将生成的程序集的设置复制/粘贴到可执行项目配置中并不是太麻烦。此外,我经常为每个项目(针对dev/test/prod环境)配置多个不同的配置,因此在这些类型的场景中,自动生成主项目配置可能会变得复杂。

票数 2
EN

Stack Overflow用户

发布于 2018-08-03 22:26:52

如果要为多个项目创建一个公共配置文件,请使用配置文件创建一个类库项目,并为应用程序设置创建公共属性作为其他项目可用的公共属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51674131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档