抽象出解决方案项目的公共部分'配置文件

本文关键字:配置文件 公共部 解决方案 项目 抽象 | 更新日期: 2023-09-27 18:05:22

我有一个包含20个左右项目的解决方案。大多数这些项目的配置文件共享其配置文件的大部分。假设它们都共享这段(丑陋的)代码:

<add type="Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter,
Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, 
PublicKeyToken=31bf3856ad364e35" 
template="Timestamp: {timestamp}
Machine: {machine}
Identity Name: {identityName}
Authentication Type: {authenticationType}
Is Authenticated: {isAuthenticated}
Category: {category}
Process Name: {processName}
Process Id: {processId}
Severity: {severity}
EventId: {eventid}
Application Domain: {appDomain}
Session Id: {sessionId}
Class Name: {className}
Method Name: {methodName}
Thread Name: {threadName}
Extended Properties: {dictionary({key} - {value} )}
Title
{title}
Message
{message}
Stack Trace
{stackTrace}" name="Email Formatter"/>

我想知道的是,是否有一个类似于。config文件的gulp过程,其中文件的公共部分可以被命名并存储在另一个文件中,然后在构建时粘贴到单个项目中呈现的配置文件?

抽象出解决方案项目的公共部分'配置文件

如何使用配置继承?

对于web配置,这里有info .

对于应用程序配置,你可以在解决方案目录中创建通用配置文件,并在客户端应用程序配置中重用,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings file="..'base.xml.config">
  ...
</configuration>

我们的解决方案中大约有65个项目,它们都有完全相同的问题。对我们来说非常有效的解决方案是使用自定义配置部分并使用外部配置文件。这些文件集中在一个名为_MasterConfigs的文件夹(在项目文件夹级别)下。

每个项目使用一个预构建事件来复制它需要的配置,并且它们在这些项目的源代码控制中被排除。

您可以使用如下方式从外部引用文件(来自我们的配置之一的示例):

<solrConnections configSource="solr-local.config" />