首页 / 知识
关于c#:如何管理大型应用程序的.NET app.config文件?
2023-04-16 22:48:00

How do you manage .NET app.config files for large applications?假设有一个大型复合应用程序,该应用程序基于打包在其自己的程序集中的几个基础组件构建:(数据库读取,协议处理程序等)。对于某些部署,这可能包括20多个程序集。每个程序集都有设置或配置信息。我们的团队倾向于喜欢VS设置编辑器(及其生成的易于使用的代码!),并且应用程序与用户之间的区别可以满足我们的大多数需求。 但.... 将许多配置节复制并粘贴到应用程序的.xml中非常繁琐。此外,对于倾向于在应用程序之间具有相似配置的共享组件,这意味着我们需要在多个.config文件中维护重复的设置。 微软的EntLib使用外部工具生成怪兽.config文件解决了这个问题,但这也让人觉得很笨拙。 您使用什么技术来管理带有多个共享程序集的节的大型.NET .config文件?某种包含机制?定制配置阅读器? 跟进: 威尔的答案恰好是我所得到的,并且对于平坦的键/值对部分看起来很优雅。有没有一种方法可以将这种方法与自定义配置部分结合起来? 也感谢您为不同的构建目标管理不同的.config的建议。这也很有用。 戴夫 您使用一个主配置文件指向其他配置文件。这是如何执行此操作的示例。 万一链接腐烂,您要做的是为特定配置部分指定configSource。这使您可以在单独的文件中定义该特定部分。
这意味着在包含整个 我的首选方法是使用MSBuild,如果右键单击项目并单击"卸载",将弹出一个新菜单选项,显示为" edit"。选择该选项,它将打开项目文件,以便您可以对其进行编辑,向下滚动直到找到被注释掉的部分,称为" AfterBuild"。 然后,您可以添加如下内容:
这将用一个名为[Release | Debug] app.exe.config的应用程序配置代替。因此,您可以根据项目的构建方式维护单独的配置。 但是,一种快速而又肮脏的选择(如果您不想使用msbuild的话)是仅维护单独的配置文件,然后定义要包括的配置文件,如下所示:
如果您正在做一个asp.net应用程序,Microsoft提供了一个称为" Web Deployment Projects"的强大实用程序,它将使您轻松管理所有这些操作,请单击此处。 管理大型配置集的一种好方法是创建自定义配置部分。 Phil Haack在本文的"自定义配置"部分中通过三个简单的步骤很好地讨论了这一点 为每个部署/测试环境设置构建配置,并根据每个构建配置使用单独的配置文件。 ScottGu对此发表了一篇不错的文章,并且效果很好。我们唯一的怪癖是我们需要确保在每次构建之前从TFS中检出配置文件(web.config)进行编辑,以便可以将其复制过来。 我们创建了一个AssemblySettingsConfig类,其行为类似于ConfigurationManager,但是为每个单独的程序集加载一个.config。因此,该应用程序具有.config,并且它引用的所有DLL都有自己的.config文件。到目前为止效果很好。 |
最新内容
相关内容
更新文件命令linux?
更新文件命令linux?,工作,系统,地址,信息,时间,命令,目录,基础,标准,网络,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux基础命令增加文件?
linux基础命令增加文件?,系统,时间,名字,文件,基础,数据,命令,名称,首次,密码,linux命令如何新建一个文件终端下键入:touch加文件名,这样就创建linux下读取文件命令?
linux下读取文件命令?,系统,工作,地址,数字,图片,信息,网络,命令,文件,一致,linux文件系统常用命令1、其中一些常用的命令包括ls、cd、pwd和mklinux改文件夹名命令?
linux改文件夹名命令?,名字,软件,命令,文件,系统,目录,目标,文件名,源文件,选项,linux中用什么命令移修改文件夹名1、linux下使用mv命令来移动linux建文件命令格式?
linux建文件命令格式?,系统,名字,名称,时间,密码,命令,文件,文件夹,不了,数据,Linux虚拟机命令如何创建新的文件和文件夹1、首先,连接相应linux下载文件的命令linux?
下载文件的命令linux?,平台,工具,服务,密码,软件,网络,位置,代理,手机,工作,从linux服务器中下载或上传文件1、您要问的是为什么linux服务器一linux命令文件传输?
linux命令文件传输?,系统,数据,命令,文件,基本知识,源文件,目录,目标,功能,语法,...安装rz和sz命令实现Linux与Windows传输文件1、使用rz和szlinux文件全选命令?
linux文件全选命令?,电脑,系统,环境,代码,平台,服务,快捷键,文件,命令,权限,linux不小心文件全选点了打开,怎么全部取消打开文件你如果没有修linux浏览文件类命令?
linux浏览文件类命令?,系统,信息,数据,情况,命令,标准,时间,文件,概念,管理,在Linux系统中,执行什么命令查看文件或目录的权限?1、linux查看文linux打包文件夹命令?
linux打包文件夹命令?,系统,工具,管理,图片,文件,命令,位置,软件,目录,格式,linux压缩解压gz文件命令命令格式:tar -zxvf 压缩文件名.tar.gz。linux中统计文件命令?
linux中统计文件命令?,系统,信息,数据,情况,工作,文件,时间,档案,标准,名称,Linux系统中查看所有文件的命令是什么?linux系统下用ls命令列出当linux重名名文件命令?
linux重名名文件命令?,图片,名称,名字,文件,命令,位置,代码,软件,系统,文件名,linux文件重命名命令mv较简单的处理命令:mvmv原文件名新文件名如