2012-06-14 3 views
1

다른 시나리오, 개발자 - 컴퓨터, 빌드 - 서버, 테스트 서버, 프로덕션 서버, 프로덕션 환경을 충족해야하는 3-5 개의 web.config.xxx가있는 프로젝트가 있습니다. 내부, 생산 외부. xxx는 그것이 속한 환경을 설명하는 마커 일뿐입니다.다른 시나리오에 맞게 web.config 구성

이 web.config는 대부분 동일하지만 connectionsstrings, integrationpoints, mailserver 등은 다르지만 구조는 다소 다릅니다. 그래서 web.config에 값을 추가하면 솔루션의 모든 web.configs에서 값을 변경해야하는 경우 몇 개의 파일로 작성해야합니다. 매우 쉽습니다. 나중에이 작업을 수행 할 것이라고 생각합니다. 이름을 변경할 수도 있습니다.이 작업이 올바른지 확실하지 않습니다. 그래서 때때로 제작에 들어갈 때 가치가 없어져서 당황 스럽습니다. 문제는이 문제를 쉽게 제거 할 수 있어야한다는 것입니다.

이 상황을 어떻게 처리합니까? 디버그에서 빌드 할 경우 빌드 구성을 점검하고 간단한 대체 작업을 수행 할 수있는 "사전 빌드 이벤트"를 살펴보고 DevDB로 {db}를 변경하기 시작합니다. 빌드 서버를 빌드하면 빌드 구성을 사용하고 해당 환경에 적합한 대체품을 만들 수 있습니다.

이것을 처리하는 방법이 있습니까?

+0

웹 사이트 프로젝트 또는 웹 응용 프로그램 프로젝트를 사용하고 있습니까? 웹 응용 프로그램 프로젝트를 사용하는 경우 특정 web.config.xxx는 빌드 또는 다시 빌드 중에 병합되지 않기 때문에 유용하지 않습니다. –

답변

1

구성 변환의 이점을 얻은 것 같습니다.

웹 사이트를 배포 할 때 배포 된 응용 프로그램의 Web.config 파일에서 일부 설정이 개발 Web.config 파일과 다를 수 있습니다. 예를 들어 디버그 옵션을 비활성화하고 연결 문자열을 변경하여 다른 데이터베이스를 가리 키도록 할 수 있습니다.

아래 소스는 web.config를 변경하기 위해 배포 중에 자동으로 적용되는 web.config 변형 파일을 구성하는 방법을 보여줍니다.

출처 : How to: Transform Web.config When Deploying a Web Application Project

참고 :이 기술은 배포의 수 (스테이징, 테스트, 생산, 푸, 바 등)에 적용될 수있다.

일반적으로 프로젝트에는 1 개의 web.config 파일이 있습니다. 그와 관련하여 web.production.config, web.staging.config 등을 가질 수 있습니다. web. * .config 파일 각각은 web.config의 다양한 값을 수정하기위한 언어가 포함 된 변환이 될 것이며, 연결 문자열과 같은 이러한 변환 파일 각각은 배포 중에 일반적으로 선택하는 배포 옵션과 연결됩니다 (일반적으로 '디버그'로 설정된 Visual Studio 상단의 작은 드롭 다운).

+0

불행히도 우리는 웹 사이트 작업을하고 있습니다 ... 당신의 솔루션은 어디에서 모든 부분을 찾고 있었는지 정확히 하나 ... – user1153744

관련 문제