자동화 빌드에서 작동하는 web.config 변환을 얻으려고 애쓰는 중입니다.팀 빌드 2010 및 web.config 변환 문제
하나의 ASP.NET 웹 응용 프로그램과 8 개의 클래스 라이브러리가 포함 된 합리적인 해결책이 있습니다. 우리는 세 명의 개발자가 프로젝트에 참여하고 있으며, 지금까지 각각 로컬 폴더에 솔루션을 "게시"한 다음 파일 복사본을 사용하여 테스트 서버에 배포했습니다. TFS 2010을 사용하여 자동화 된 빌드/배포 솔루션을 설치하려고합니다.
빌드 프로세스 템플릿에 빌드 정의를 만들고 msdeploy.exe에 대한 호출을 추가하여 응용 프로그램을 테스트 서버에 배포합니다. . 여태까지는 그런대로 잘됐다!
그런 다음 web.config 변환을 구현하려고 시도했지만 작동시키지 못했습니다. 내 PC에서 로컬로 빌드하고 게시하는 경우 "게시"폴더에는 변환 된 올바른 web.config 파일이 있습니다.
팀 빌드를 사용하면 변형이 발생하지 않으며 기본 web.config 파일 만 있습니다.
내가 비슷한에, 다른 사람이 제안으로, 웹 응용 프로그램의 프로젝트 파일의 빌드 후 단계를 추가하는 시도:
<target name="AfterBuild">
<TransformXml Source="Web.generic.config"
Transform="$(ProjectConfigTransformFileName)"
Destination="Web.Config" />
</target>
하지만 소스 web.config 파일이 "applicationSettings"가 beacuse이 실패 섹션 . 오류가 발생합니다.
'applicationSettings'요소에 대한 스키마 정보를 찾을 수 없습니다. 그들은 웹이 없어 아마도 때문에,
내가 본 suggstions은 약
/t:TransformWebConfig /p:Configuration=Debug
같은 빌드 정의에서의 MSBuild 작업에 인수를 추가하지만 클래스 라이브러리 프로젝트를 빌드 할 때이 쓰러져서 .config 파일.
아이디어가 있으십니까? 다른 사람들과 마찬가지로, 나는 이것이 "효과가있을 것"이라고 생각했지만 분명히 그렇지 못했다. 이것이 내가 일하기 위해 필요로하는 마지막 부분이며 그것이 나를 미치게합니다. 나는 msbuild 전문가가 아니므로 평범하고 단순하십시오!
미리 감사드립니다. 대신 빌드 프로세스 템플릿에 작업 나 자신을 추가하여 배포 일을하려고의
더그
그냥 옆줄. 이 모든 부분에 두 가지 어려운 부분이있었습니다. 첫 번째는 MSDeployService를 웹 서버에 제대로 설치하는 것입니다. 두 번째는 모든 올바른 MSBuild 매개 변수를 알아내는 것입니다. Doug가 언급 한 일부 사이트는 동일한 시스템에서 구축 및 배포를 목표로하므로 매개 변수가 작동하지 않습니다. 전부해서, 첫번째 통과는 계산하기 위해 약 6 시간이 걸렸다. 이제 설정되었으므로 약 5 분 안에 새로운 빌드 정의를 만들 수 있습니다. – NotMe
Great post Chris, 나는 또한이 모든 것을 다뤄 냈습니다. (부분적으로는 서버에서 이상하게 보였기 때문에 부분적으로는 호스트 된 tfs를 사용했기 때문에 조금 더 오래 걸렸습니다.)하지만 주제에 대한 요약은 정말 좋았습니다. Chrs. – MemeDeveloper
또 다른 참고 사항 : 지난 주에 새 서버에서이 문제를 설정했습니다. MSDeploy의 최신 설치 프로그램은 이전 버전보다 훨씬 낫습니다. – NotMe