2008-08-04 10 views
26

내 물건을 만들기 위해 MSBuild를 사용하고 있습니다. Build Server와 같이 CruiseControl.net을 사용하고 싶습니다. nAnt는 여전히 지원되며 .net 3.5/VS2008에 적합합니까?

지금, CCNET는 NANT에게 많은 의미하지만 ccnet이 물건 NANT의 대부분은 프로젝트 구성 및 msbuild를 통해 할 수있는 할 수있는 것처럼 보인다. 또한, nAnt는 거의 지원되지 않는 것으로 보입니다. 베타 버전은 거의 1 년 전입니다.

간단히 말해서 MSBuild에 만족합니다 (특히 "공식"컴파일러 프론트 엔드이기 때문에). nAnt에는 불편하지만, 조기에 판단하고 싶지는 않습니다.

MSBuild에서 nAnt를 사용하는 이유는 무엇입니까? 특히 기능면에서 NANT와 약간 겹치는 것으로 보인다 ccnet, (그리고 자동화 된 빌드와 관련된 물건 추가) 내 생각에

답변

15

MSBuild에 만족하면 MSBuild를 계속 사용합니다. 이것은 처음에 배우는 도구가 선호하는 도구 중 하나 일 수 있습니다. 나는 NAnt로 시작했고 MSBuild에 익숙해 질 수 없습니다. 나는 그들이 꽤 오랫동안 둘 다있을 것이라고 확신한다.

두 가지의 근본적인 차이점이 있습니다. 가장 좋은 것은 this conversation between some NAnt fans and a Microsoftie입니다.

흥미롭게도, Jeremy Miller는 정반대 질문 on his blog 지난해 물었다.

5

을 함께 그것은 개인적인 취향의 더 질문입니다. nAnt는 훌륭한 프레임 워크이며 MSBuild는 거의 사용할 수 있습니다. 두 프레임 워크 모두에서 사용자 지정 작업을 쉽게 개발할 수 있으므로 수행해야 할 거의 모든 작업을 수행 할 수 있습니다.

나는 당신의 질문의 "계속 지원"부분을 대답 할 수없는,하지만 당신은 이미 NANT 편안 그때는 아마 가능한 있다면 나는 말할 것입니다. MSBuild에 익숙한 사람 (또는 그룹에 속한 사람)이 있다면 좋은 방법입니다.

1

정직하게는 환경에 더 잘 어울리는 지에 달려 있습니다. 타사 도구 인 nunit, ccnet, ncover를 많이 사용하는 경우 너트와 더 잘 어울릴 것입니다. 또는 MSTest, TFSBuild를 사용하는 경우 MSBuild가 더 나은 환경을 찾을 수 있습니다. 나는 두 가지를 배울 것이고, 모든 것을 당신의 환경에 더 부드럽게 적용 할 것입니다. 당신은 이미 당신이 NANT에 사용할 사용자 지정 작업의 무리를 가지고있는 경우에

3

는, 그것으로 스틱 - 당신은 MSBuild를 훨씬을 얻을 수 없습니다. 즉, MSBuild가 핵심적인 역할을 할 수 없다는 것은 아무 것도없는 것처럼 보입니다. 두 가지 모두 외부 도구를 호출 할 수 있으며 두 가지 모두 .Net 기반 사용자 지정 작업을 실행할 수 있으며 둘 다 많은 공동 작업이 있습니다. 지금 VS의 기본 빌드 시스템, 그리고 우리가 걱정하는 모든 NANT 특정 물건을하지 않았다 - 우리는 같은 이유로 여기의 MSBuild를 사용하고

당신입니다.

MSBuildCommunityTasks은 좋은 써드 파티 작업 기반이며 VSA 및 Subversion 지원을 포함하여 nAnt에서했던 대부분의 사용자 정의 기능을 포함합니다.

1

CC.NET은 빌드 스크립트 기술이 아닌 단순히 빌드 서버 기술입니다. 우리는 직장에서 CC.NET을 사용하여 문제없이 MSBuild 빌드 스크립트를 매우 성공적으로 호출합니다.

NAnt는 더 오래되고 성숙한 빌드 스크립트 언어이지만 동작 방식이 비슷합니다. 내가 NAnt에서 할 수있는 일은 MSBuild에서도 할 수있는 일이 거의 없기 때문에 실제로 어느 것이 더 편한지 이해할 수 있습니다.NAnt가 얼마나 활발한 지에 관해서는, 마지막 릴리스가 있었을 때를 지나치지 마라. 지난 밤의 빌드가 있었을 때 대신에 가라. NAnt는 출시 사이에 오랜 시간이 걸리는 경향이 있지만, 야간 빌드는 일반적으로 꽤 안정적입니다.

0

많은 사람들이 이미 언급 한 것과 마찬가지로 여기의 대답은 "의존적"입니다. 반복 작업과 같은 몇 가지 항목이 있으며 NAnt는 훨씬 간단하고 깨끗합니다. 이에 대한 설명은 the MSDN forums을 참조하십시오.

0

큰 프로젝트에서 특히 하이브리드 방식을 사용할 수도 있습니다. 새 구성 요소가 개발되면 우리의 nant 스크립트가 msbuild로 변환됩니다. 두 가지 모두 동일한 주요 기능을 지원하며 하나는 지원하지만 다른 하나는 지원하지 않는 작업을 찾으면 서로 호출 할 수 있습니다.

MSBuild로 시작하는 새로운 .NET 개발의 경우 솔루션 파일을 직접 실행할 수 있기 때문에 많은 시간을 절약 할 수 있습니다. 다른 작업 (소스 제어, 배치 등)을 수행하기 위해 메인 컴파일을 확장하면 꽤 잘 작동합니다.