我有一个包含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的过程,其中文件的公共部分可以命名并存储在另一个文件中,然后在构建时将其粘贴到各个项目呈现的配置文件中?
答案 0 :(得分:2)
使用配置继承怎么样?
对于网络配置,有信息here。
对于app config,您可以在解决方案目录中创建公共配置文件,并在客户端应用程序配置中重复使用它:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings file="..\base.xml.config">
...
</configuration>
答案 1 :(得分:1)
我们的解决方案中有大约65个项目,并且分享完全相同的问题。对我们来说非常有效的解决方案是使用custom config sections并使用外部配置文件。这些文件集中在名为_MasterConfigs的文件夹(位于项目文件夹级别)下。
每个项目都使用预建事件来复制它所需的配置,并且它们在这些项目中被排除在源控制之外。
您可以使用类似的东西(我们的一个配置中的示例)在外部引用文件:
<solrConnections configSource="solr-local.config" />