최고의 접근 방식을 구성하기 위한 여러가 있습니다.Net 응용 프로그램

StackOverflow https://stackoverflow.com/questions/96340

  •  01-07-2019
  •  | 
  •  

문제

우리는 우리의 스위트를 링크하고 있다.Net3.5 응용 프로그램.일부는 웹 사이트 중 일부는 웹 서비스,그리고 일부는 windows 응용 프로그램입니다.각각의 응용 프로그램은 현재는 그것의 자신의 구성 파일(app.config 또는 웹.config),그리고 현재 몇 가지 중복된 키를 통해 파일을 config(는 순간에 있는 동기화를 유지하고 수동으로)여러 앱을 필요로 같은 config 값입니다.또한,이 제품군 응용 프로그램의 배포에 걸쳐 다양한 envrionemnts(dev,테스트,라이브 등)

는 가장 좋은 방법은 무엇입하는 관리 구성의 이러한 여러 앱에서 하나의 구성원은,그래서 설정 값을 공유할 수 있는 사이에 여러 경우 응용 프로그램이 필요합니까?우리는 또한 같은 별도의 설정 각각의 환경에 대한(그래서 때 배포하지 않을 수동으로 변경이 특정 구성하는 값은 특정 환경과 같이에 연결점이 문자열)지만,동시에 원하지 않을 유지하는 여러 큰 파일을 config(중 하나는 각각의 환경에 대한)를 이에 동기화를 추가할 때 새로운 설정 키를 증명할 것이 곤란합니다.

도움이 되었습니까?

해결책

우리가 사용하는 파일과 같은 템플릿 프로그램이 setup.config.템플릿 및 MyWeb.config.템플릿 넝 속성에 대한 비트 사이에 다른 환경이다.그래서 템플릿 파일로 보일 수 있는 다음과 같이 비트:

<MyAppConfig>
    <DbConnString>${DbConnString}</DbConnString>
    <WebServiceUri uri="${WebServiceUri}" />
</MyAppConfig>

빌드하는 동안 우리는 우리를 생성하는 모든 설정에 대해 다양한 환경여 반복을 통해 각 환경에 넝 스크립트의 값을 변경 넝 속성${DbConnString}및${WebServiceUri}각각의 환경에 대한(사실 이들은 모두에서 설정한 하나의 파일로 부분에 대한 각 환경),고 넝 복사와 함께하는 옵션을 확장 속성을 켜져 있습니다.

그중에 설정이지만 그것은 우리를 지불 후에 적어도에서 배로 양의 시간과 장난 다른 버전의 config 파일이 있습니다.

다른 팁

Visual Studio 는 상대적으로 애매한 기능을 추가할 수 있는 기존 아이템으로 링크를 수행하기 위한 당신이 무엇을 찾고 있습니다.체크아웃 가설 휘태커의 게시물 이 주제에 대한 더 자세한 사항.

Visual Studio 이야말로 정말 이 옵션을 더욱 볼 수 있습니다.아무도 정말이 생각하기를 클릭하에 있는 옆의 작은 화살표의"추가"버튼을 누릅니다.

분할할 수 있습니다 앱입니다.config 으로 여러한 구성 파일이 있습니다.당신은 단지의 이름을 지정한 파일을 포함하는 설정 섹션입니다.

변화 응용 프로그램입니다.config:

<SomeConfigSection>
  <SettingA/>
  <SettingB/>
</SomeConfigSection>
<OtherSection>
  <SettingX/>
</OtherSection>

응용 프로그램.config SomeSetting.xml:

<SomeConfigSection file="SomeSetting.xml" />
<OtherSection file="Other.xml" />

가 SomeSetting.xml 포함합니다:

지금 당신은 당신을 구성할 수 있습니다.config 에서 다른 섹션은 파일의 일종으로 구축하거나 배포하는 스크립트입니다.E.g.:

if debug copy SomeSettingDebug.xml deploydir/SomeSetting.xml
if MySql copy OtherSectionMySql.xml deploydir/OtherSetting.xml

체크아웃 prism framework 에서 마이크로 소프트 패턴과 사례입니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top