Visual Studio에는 게시시 Web.config를 변형시키는이 멋진 기능이 있습니다.Visual Studio에서 구성 변환을 사용하여 강제로 요소를 바꾸는 방법은 무엇입니까?
의 Web.config :
<add key="SomeKey" value="DebugValue"/>
Web.Release.config :
<add key="SomeKey" value="ReleaseValue" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
그래서 우리의 Web.config의 원래 값을 대체 할 Web.Release.config에 다음과 같은 일을 할 수 있습니다
변환 설정에 오타가없는 한이 모든 것이 좋습니다. 그래서 예를 들어 당신은 당신의 변환 설정에 다음 줄이있는 경우 :
...\Web.Release.config: Warning : No element in the source document matches '/configuration/appSettings/add[@key='SomeKeyTypo']'
:
<add key="SomeKeyTypo" value="ReleaseValue" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
그런 다음 "SomeKey"항목이 키를 찾을 수 없습니다 변환 및 자동이 경고를 인쇄 할 수 있기 때문에 교체하지 않을
과 같은 상황에서는 기본 Web.config에서 키를 변경하고 Web.Release.config에서 키를 변경하는 것을 잊어 버리는 것과 같은 상황에서 게시 할 때 그렇지 않은 경우가 있습니다. 게시 출력 메시지를 읽고 경고가 표시되지 않습니다. 디버그 값 w 릴리스 값 대신 응용 프로그램에서 사용됩니다. 당신이 Web.Release.config에 변환 정의 할 때
는 그래서 질문는 주어진 항목을 교체해야 함을 표시하는 방법이 있고 키가 던져 대신 경고의 오류 등을 찾을 수없는 경우입니다 기본적으로 일부 오류 코드로 게시를 종료 하시겠습니까?
이것은 흥미로운 해결 방법처럼 보이지만 놀랍게도 변환 경고에는 효과가없는 것 같습니다! 모든 경고를 변형 된 웹 프로젝트의 오류로 처리하지만 여전히 경고로 처리합니다. 그것은 변수를 선언하고 그것을 사용하지 않지만 변환 경고를 완전히 무시할 때와 같은 다른 종류의 경고에서 작동합니다! 왜 그런가? 어쩌면 컴파일 경고에만 적용됩니다!? – kaptan
나는 다른 일을보고 시작했고 PostBuild 단계가 가능할 것이라고 생각했습니다. 나중에 오늘 그런 해결책을 찾아서 결과를 게시 할 것입니다. 비록 출력 배치에주의를 기울이는 것만 큼 단순하지 않을 수도 있습니다 .. –
결과를 공유하면 좋을 것입니다 :> – kaptan