을 나는이 내가 알고 너무 오래되었고 아마도 .NET Core에는 적용되지 않지만 Google과 비핵 코어 json 구성 파일을 사용하는 사람들에게는 아마 적용되지 않습니다. 다음은 내가 일반적으로하는 일입니다 ...
나는 web.config
에서 모든 구성 설정을 취하기 위해 configSources
을 사용합니다. 이것은 당신이 할 수있는
<configuration>
<log4net configSource="Config\debug\log4net.config" />
<appSettings configSource="config\debug\settings.config" />
<connectionStrings configSource="config\debug\connections.config" />
...
</configuration>
... 당신이 (루트 web.config
파일) 구성 섹션에서 configSource
를 선언 할 방법을 여기에 예를 들어 상대 위치를 제공하여 다른 파일에 특정 설정 섹션을 수행 할 수 있습니다 그 파일의 이름을 원하는대로 지정하십시오. 지정된 경로와 파일이 솔루션에 존재하는지 확인하십시오. 당신이 내가 볼 수 있습니다 위의 여기 사진에 ... 상대 경로는 프로젝트 루트를 기준으로, 지금은 ... settings.config 파일의 모습
을
<?xml version="1.0"?>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="foo" value="bar" />
</appSettings>
있어 서로 다른 전개 환경에 대해 두 가지 다른 경로를 제공했기 때문에 분명히 내 conection 문자열과 설정이 프로덕션 환경에서 다르기 때문입니다. 응용 프로그램이 디버그 또는 릴리스 모드에 있는지 여부를 올바른 설정 파일을 사용할 수 있도록
은 그럼 당신은 ... 구성 변환을 사용할 수 있습니다
이것은 Web.Debug.config
파일의 모습입니다
..
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<log4net configSource="Config\debug\log4net.config" xdt:Transform="Replace" />
<appSettings configSource="config\debug\settings.config" xdt:Transform="Replace" />
<connectionStrings configSource="config\debug\connections.config" xdt:Transform="Replace" />
</configuration>
출시 버전은 거의 동일합니다.꽤 많이 년대 configSource attributes.And에 제공되는 경로를 교체합니다. 같은 system.serviceModel
아이 요소의 많은으로 configSource 설정을 지원하는 다른 Web.config의 요소가있다.
출처
2017-08-16 01:51:52
Leo
확인이 아웃 : http://stackoverflow.com/questions/11363121/connectionstring-management-for-many-projects-on-one-server-should-i-make-my-ow/11363291#11363291 –