繁体   English   中英

大型C#解决方案中的配置文件

[英]Configuration files in a big c# solution

我有一个很大的解决方案(约50个项目),其中包含许多Web项目和Web服务项目,这些项目分组到模块(解决方案文件夹)中。 我之所以拥有许多WebApi项目,是因为我认为将来它们将部署在不同的域中。

正如我提到的,一个模块可以包含许多Web api项目和类库项目以及一个测试项目。 目前,我有5个模块,因此我有5个测试项目-我将它们称为ModuleTestProject-每个项目都需要相同的共享配置数据。

一般来说,如何以一种好的方式做到这一点?

我试图将配置放在一个单独的TestSetup类库项目中,该项目具有app.config和引用它的每个ModuleTestProject。 我在这里读过一篇文章,但是我不觉得这种方式很不错。

我的另一个想法是一个单独的项目,其中的类包含配置数据。 这样,我不必处理发布app.config文件等。

但是,在我做任何事情之前,我认为最好问比我有经验的人。

感谢您的帮助!

Windows注册表是读取配置的另一个选项。 您可以将配置值添加到注册表中,然后可以从同一计算机上运行的每个程序/模块中获取这些值。 有关更多信息: 读写从注册表删除

如果所有项目都需要共享配置数据,我将使用自定义ConfigurationProvider类创建一个新项目。 然后,我将从所有其他项目中引用该项目。

将来,当您将项目部署到不同的域时,可以修改ConfigurationProvider类并添加一个选项以从某个公共位置(例如,可通过HTTP访问的XML文件)检索和缓存设置。

经过几个小时的搜索,思考和阅读,我决定遵循appSetting的file属性可以包含外部配置文件的方式。 链接:

目前,我只有一个外部配置文件,但我计划重新组织我的文件,以使它们更易于管理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM