0

CIBuildWithCopyDirectoryTemplate.xaml에 정의 된대로 기본 워크 플로를 사용하여 TFS2010에서 CI 빌드를 설정했습니다.MSBuild - 변환 web.config

web.config가 변형되어있는 것처럼 보입니다. 그러나 나에게있어서 이것이 정의 된 그림의 삶은 불가능합니다. 내 csproj 파일에 AfterBuild 작업이 있지만 MSBuild가 이것을 사용한다고 생각하지 않습니까?

XAML을 텍스트 파일과 워크 플로 형식으로 보면서 완전히 혼란스러워 버렸고 지난 주 구입 한 하시 미 (Hashimi) 책을 읽을 시간이 없습니다. 누군가가 올바른 방향으로 나를 가리킬 수 있다면 매우 감사 할 것입니다.

답변

1

AfterBuild는 일반적으로 프로젝트에 대한 패키징이 완료된 후에 호출됩니다. web.config 변환은 패키징 단계에서 프로젝트 이전에 수행됩니다.

+0

그래서 MSBuild *는 프로젝트의'.csproj' 파일을 사용합니까? – 5arx

+1

물론입니다. Visual Studio C# 프로젝트 파일은 MSBuild 파일이며 명령 줄 MSBuild를 통해 호출 된 프로젝트와 TFS는 GUI 환경의 Visual Studio 빌드와 약간 다른 환경 컨텍스트를 가질 수 있지만 이들은 동일합니다. – bojolais

1

.csproj 파일은 MSBuild 파일입니다. .csproj에서 사용자 지정하는 항목은 조건이 충족되면 MSBuild에서 선택합니다.

빌드 내부를 분석하기 위해 MSBuild logging 상세 표시를 늘릴 수 있습니다.

1

web.config의 변환은 VS의 웹 게시 작업, 특히 패키지 대상에서 수행됩니다. .csproj에는 TransformXml 작업을 정의하는 Microsoft.Web.Publishing.targets 가져 오기가 있어야하며 msbuild가 호출하는 [Pre | Post] TransformWebConfig와 같은 몇 개의 대상이 있어야합니다.