Visual Studio (이전 InCycle) 용 릴리스 관리 도구를 사용하여 빌드/배포 프로세스를 자동화하려고합니다.Visual Studio 릴리스 관리 - 다중 행 값을 갖는 구성 변수?
릴리스 관리 도구에는 web.config (또는 app.config)의 설정을 수정하는 기능이 있습니다. 그러나 이보다 더 많은 것을 할 수있는 상황이 있습니다.
예를 들어 HTTP 요청을 HTTPS로 자동 리디렉션하는 URL 재 작성기 규칙이 있습니다. 그러나 이것은 dev 워크 스테이션에서 (현재) 작동하지 않을 것입니다. 따라서 web.config의 "기본"버전에는 rewriter 규칙이 포함되지 않습니다.이 규칙은 web.config 변환을 통해 빌드/게시 시간에 삽입됩니다.
그러나 릴리스 관리 "구성 변수"메커니즘은 하나 이상의 줄을 대체 값으로 지정할 수 없습니다.
줄 바꿈을 제거하고 XML 단편을 한 줄의 텍스트로 압축 할 수 있다는 것을 알고 있습니다. 하지만 나는 수천 개의 줄이있는 web.config를 가지고 있지 않을 것입니다. 그리고 나는 결국 파일을 보거나 편집 할 필요가있는 우리 IT 사람들이 내가하는 것보다 훨씬 더 강하게 느낄 것이라고 생각합니다.)
일반적으로 web.config 변환 메커니즘에는 몇 가지 모드가 있습니다 : 설정을 변경할 수 있지만 전체 섹션/XML 요소를 삽입하거나 바꾸거나 삭제할 수도 있습니다. Web.config 파일 (기본 제공)에 더 이상 제한되지 않는 것이 좋지만 새로운 기능은 훨씬 제한적으로 보입니다.
내가 누락 된 항목이 있습니까? 다른 사람이이 문제를 발견 했습니까? 그 일을하기 위해 당신은 무엇을 했습니까?
이 시점에서 빌드 구성을 최대한 포괄적으로 유지합니다. 즉, 서버/계층 관련 정보를 빌드에서 제외 시키십시오. 그러나 나는 다른 방식으로하는 것에 대한 주장을 볼 수 있습니다. 그걸 좀 더 씹어야 겠어. – David
우리는 여러 단계를 거치고 있으며 옵션을 공개하고 싶습니다. 배포의 일부로 변환 작업을 시작하기 시작했습니다. 다행히 Microsoft는 [CodePlex] (http://xdt.codeplex.com/)에있는 변환 엔진을 공개했습니다. 예, 독립 실행 형 버전이 있습니다. [Hanselman이 블로그에 올렸습니다 (http : // www .hanselman.com/blog/SlowCheetahWebconfigTransformationSyntaxNowGeneralizedForAnyXMLConfigurationFile.aspx)이며 NuGet 패키지로도 제공됩니다. 나는 그 길을 따라 가면서 어디로 가는지 볼 것입니다. – David