2017-02-16 3 views
4

dev 대 prod에 대해 <appSettings>을 간단하게하려고합니다.Web.config 및 Web.Release.config의 appSettings

Web.config :

<appSettings> 
    <add key="hello" value="debug" /> 
</appSettings> 

Web.Release.config :

<appSettings> 
    <add key="hello" value="prod" /> 
</appSettings> 

(모두 <configuration>에서) 내가 디버그 모드에 있고, 내 MVC 사이트를 운영, 내가 할 수있는 간단한 return Content(WebConfigurationManager.AppSettings["hello"]);이 내 HomeController.Index에 있고 dev을 반환합니다. 모드를 Release으로 변경하면 여전히 dev을 반환합니다. 실제로 찌르다 게시하지 않고 찌르다 모드를 시뮬레이션하고 싶습니다.

+0

이 작업을 수행하는 좋은 방법은 없으며 실제로 수행하지 않아야한다는 매우 강력한 주장이 있습니다. 궁극적으로, IIS는'web.config'라는 파일만을 볼 것이므로이 파일을 사용하는 것으로 제한됩니다. 변환 된 파일을 미리보고 복사/붙여 넣을 수 있으며, 테스트 한 후에 실행 취소를 기억할 수도 있습니다. – DavidG

답변

11

빌드 관련 Web.config 파일에서 기본 .config 파일을 변환하는 방법을 알려야합니다. 그래서 당신은 무엇을 물어해야 할, 당신의 Web.Release.config 파일은 다음과 같아야합니다

<appSettings> 
    <add key="hello" value="prod" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" /> 
</appSettings> 

SetAttributes이 값 hello을 포함하는 key 속성과 일치하는 모든 요소의 속성을 변경합니다 변환 위의 코드에서.

+0

이것은 허용 된 대답이어야합니다. – Nikkelmann

관련 문제