2013-03-05 2 views
4

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에 변환 정의 할 때

는 그래서 질문는 주어진 항목을 교체해야 함을 표시하는 방법이 있고 키가 던져 대신 경고의 오류 등을 찾을 수없는 경우입니다 기본적으로 일부 오류 코드로 게시를 종료 하시겠습니까?

답변

0

Visual Studio 옵션을 '경고를 오류로 처리'로 설정하면 게시 작업이 완료되지 못하게하는 오류가 발생할 수 있습니다. 이 특정 경고 만 오류로 처리하도록 구성 할 수도 있습니다.

배포 할 프로젝트의 속성 페이지로 이동하여 대화 상자를 찾은 다음 하단의 빌드 아래에서 옵션을 찾을 수 있습니다.

+1

이것은 흥미로운 해결 방법처럼 보이지만 놀랍게도 변환 경고에는 효과가없는 것 같습니다! 모든 경고를 변형 된 웹 프로젝트의 오류로 처리하지만 여전히 경고로 처리합니다. 그것은 변수를 선언하고 그것을 사용하지 않지만 변환 경고를 완전히 무시할 때와 같은 다른 종류의 경고에서 작동합니다! 왜 그런가? 어쩌면 컴파일 경고에만 적용됩니다!? – kaptan

+0

나는 다른 일을보고 시작했고 PostBuild 단계가 가능할 것이라고 생각했습니다. 나중에 오늘 그런 해결책을 찾아서 결과를 게시 할 것입니다. 비록 출력 배치에주의를 기울이는 것만 큼 단순하지 않을 수도 있습니다 .. –

+0

결과를 공유하면 좋을 것입니다 :> – kaptan