2010-01-14 8 views
3

웹 배포를 위해 여러 ASP.NET 구성 파일을 가지고 있음을 알게되었습니다. 그러나 나는 내가 성취하고자하는 것을 성취 할 수 있는지 확신 할 수 없다.여러 ASP.NET 구성 파일

기본적으로, 내가 작업하고있는 웹 사이트는 세 가지 다른 사이트에 배포 할 수 있습니다. 배포 사이트에 따라 구성 설정을 변경해야합니다. 내가 뭘하고 싶은건 가능한 구성 (전체 web.config 파일)에 대한 구성 파일을 가지고 있으며 특정 배포에 사용할 구성 파일을 빌드 빌드에 알릴 수 있습니다 (필요한 경우이 파일을 수동으로 편집 할 수 있음).

뭔가 다른 .config 파일을 가리키는 것처럼 간단 있는가, 또는 좀 더 복잡한 일을 어떻게해야합니까?

편집 : 나는 또한 단지 appSettings는을 무시 그래서, 을 찾는 게 아니에요 등의 메일 설정에 대한 system.net에서 설정을 필요로한다는 것입니다이 하나의 특정 관심사. 당신은 닷넷 프레임 워크 4 ScottGu에서이 작업을 수행 할 수 있습니다

감사

답변

4

상관 설정 부 - 예 <smtp>으로 - "구체화"될 수 있으며, 예를 들어 외부 파일에 저장됩니다. (전용 응용 프로그램 설정 :-(을 사용할 수 있습니다) <appSettings>file= 문 이외의

그건 아닌 "추가"설정 -. 당신은 단지 외부 파일로 설정 시스템을 가리 킵니다

을 그래서 당신은 할 수 당신의 smtp.test.config에서

<system.net> 
    <mailSettings> 
     <smtp configSource="smtp.test.config" /> 
    </mailSettings> 
    </system.net> 

이 :이 당신의 app.config에서/Web.config의

<?xml version="1.0" encoding="utf-8" ?> 
<smtp> 
    <network host="smtp.test.com" port="244" userName="test" password="secret" /> 
    <specifiedPickupDirectory pickupDirectoryLocation="C:\temp\mails"/> 
</smtp> 

이것은 .NET 2.0 (어쩌면 1.x에서)의로 작동하고, 그것은 모든 구성 섹션 작동 -하지만 구성 섹션 그룹 ​​<system.web> 같은합니다.

물론 smtp.staging.config 등과 같은 추가 구성 파일을 만들 수 있습니다. 이제는 web.config에서 한 줄만 바꾸면 문제가 줄어 듭니다.

당신은 설치 스크립트하는 XML 처리기, 또는 인간의 개입에 의해를 사용하여이 작업을 수행 할 수 있습니다.

그것은 완전히 .NET 4 and the web.config transformations 희망 것 등의 문제가 해결되지 않지만, 단계와 약간의 도움입니다.

+0

오케이. 나는 이것이 해결책일지도 모른다라고 생각했다 (그것을 확인해 주셔서 감사합니다). 본격적인 2 개의 구성 파일을 가질 수 있었으면 좋았을 텐데, 사용하고 싶은 빌드 나 무언가를 말할 수있었습니다. – JasCav

+0

음, Visual Studio 나 MSBuild 환경에서 언제든지 빌드 후 단계를 정의하여 적절한 설정 파일을 출력 디렉토리에 복사 할 수 있습니다. –

+0

@marc_s - 내가 만났던 한 가지 (사소한) 문제. 나는 "smtp 요소가 선언되지 않았다"는 경고를 받는다. 그리고 그것은 외부 파일에서 일어나고 있습니다. 왜 이런 일이 일어나고 있는지에 대한 생각이나 제안? – JasCav

0

그의 recent talk in Sweden에서 그것의 빠른 데모를 보여줍니다. 그의 예에서 그는 각 파일이 (잠재적으로) 다른 내용을 가지고있는 스테이징, 프로덕션 등을 가지고 있습니다. 에

+0

반가워요. 그러나, 나는 여전히 .NET 2에 있으며 가까운 장래에 업그레이드하지 않을 것입니다. – JasCav

1

web.config 그런 다음, asp.net 하나로 두 파일을 볼 수 appSettings

<appSettings file="Web.site1.config"> 

에 다음 속성을 추가 할 수 있습니다. web.config에 편집하려면 다른 외부 파일이 사이트에 따라 포함되어 있습니다.

+0

좋아,이게 내가 시작한거야. 그러나 system.net의 SMTP 설정과 같은 다른 설정도 필요합니다. 이 솔루션이이를 고려하고 있습니까? (나는 이것을 반영하기 위해 나의 질문을 업데이트했다.) – JasCav

+0

여기를 봐 : http://stackoverflow.com/questions/804427/storing-smtp-outside-the-web-config-file – pvieira

+0

이 ** ** **은 , 운수 나쁘게. 이것을 지원하는 다른 설정 섹션은 없습니다. –

관련 문제