[英]C# app.config sharing between multiple projects
我正在研究一个有多个项目的解决方案。
我遵循这里描述的方法(建议使用常见解决方案项的第一个响应): 单个app.config多项目c#
结果是,对于每个项目,app.config文件都被复制并重命名为XXX.exe.config。
但是,理想的输出是每个项目的配置文件名保持不变(例如App.config)。 因为我想在部署时将所有可执行文件和DLL放在同一个文件夹中(对同一个DLL的一些可执行引用因此将它们放在一起是有意义的)。
任何建议表示赞赏。
您可以手动加载配置文件。 请参阅此处的讨论: 使用ConfigurationManager从任意位置加载配置
我建议你看一下使用TT模板。 然后,简单的解决方案是拥有一个包含常见ttinclude文件的App.tt文件。 这将根据您可能要在app.config中设置的其他设置生成具有相同(或不同)内容的App.config文件。
例如,我们有一个如下所示的App.Config:
<# EnvironmentName = "local"; #>
<#@ include file="App.Template.ttinclude" #>
App.Template.ttinclude包含我们想要输出的所有内容(以及一些基于Environment值更改的设置,因为我们支持8个安装环境。
每个App.Template.ttinclude实际上都包含另一个主配置文件,其中包含我们的常用设置,但由于我们在主配置文件中包含特定于环境的配置,在switch语句中(为了解决TT文件中的错误),这开始变得复杂处理)。
我们有一个特定于应用程序的DLL配置,它只包括我们其中一个:
例如,MyApp.Exe.config包含:
<#@ include file="App.tt" #>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.