2009-07-24 2 views
0

우리는 현재 수백 개의 * .proj와 아마도 상호 의존성이있는 50 개의 솔루션을 갖춘 거대한 코드 기반을 유지 관리하고 있습니다.2005 년과 2003 년의 코드베이스가 혼합 된 MSBuild와 NAnt

모든 코드베이스는 .net 또는 레거시 C++입니다.

현재 빌드 프로세스는 자동 소스 제어 풀링을 수행하는 중첩 된 명령 줄 스크립트이며 다음 devenv.exe를 호출하여 각 솔루션을 차례로 만듭니다.

더 나은 빌드 및 배포 도구를 활용하고 싶습니다. NAnt 또는 MSBuild간에 해결했다고 생각합니다. 여기

는 RUB이다 코드 기반의 약 절반

비주얼 스튜디오 하에서 구축되고 2003 나머지 절반 2005는이 시간과 현재 AT IDE로 앞으로 이주 정치적으로 가능하지 않다 재검사가 필요하며 위험을 초래할 수 있습니다.

내 질문은 - 누구든지 성공적으로 2003 솔루션을 구축하기 위해 MSBuild를 사용 했습니까? devenv.exe를 호출하여 기존 솔루션을 호출하는 세관 업무를 쉽게 만들 수 있습니까?

아니면 현재로서는 NAnt 만 고려해야합니까?

답변

2

나는 여기에서도 하이브리드 방식이 가장 좋을 것이라고 생각한다. VS2005 프로젝트에 MSBuild 스크립트를 사용하고 이전 VS2003 프로젝트에 대한 NAnt 스크립트를 작성하십시오. 두 가지를 모두 관리하는 빌드 스크립트가 필요한 경우 NAnt MSBuild 작업과 함께 NAnt를 사용하여 프로세스를 제어하십시오.

여기에 단점은 두 빌드 시스템에 대한 지식을 유지해야한다는 것이지만, 내 생각에 장기간에 걸쳐 MSBuild로 마이그레이션 할 수 있다는 것입니다.

+0

MSBuild가 기존의 VC2003 프로젝트를 빌드하고 NAnt를 그대로 두는 기존의 쉘 스크립트를 실행하는 것이 가능합니까? –

+0

네, MSBuild 스크립트에서 배치 파일을 호출 할 수 있다고 생각합니다. http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/2a58d361-c89b-4c0a-8884-18639aa63c7c는 하나의 URL이지만 더 많은 세부 정보가 포함 된 많은 정보가있을 것입니다. 그것은 꽤 직설적입니다. – jsight

관련 문제