문제

나는 MSBuild를 사용하여 내 물건을 만들고 있습니다.Build Server로 CruiseControl.net을 사용하고 싶습니다.

이제 CCNET은 nAnt를 많이 참조하지만 nant가 프로젝트 구성 및 msbuild를 통해 수행할 수 있는 대부분의 작업을 ccnet이 수행할 수 있는 것처럼 보입니다.또한 nAnt는 이제 거의 1년이 된 베타 릴리스로 인해 약간 지원되지 않는 것 같습니다.

간단히 말해서:나는 실제로 MSBuild(특히 "공식" 컴파일러 프런트 엔드이기 때문에)에 꽤 만족하고 nAnt에 대해서는 약간 불편하지만 성급하게 판단하고 싶지는 않습니다.

MSBuild 대신 nAnt를 사용하는 이유는 무엇입니까?특히 ccnet의 경우 기능 측면에서 nant와 약간 겹치는 것 같습니다(그리고 자동화된 빌드 관련 항목 추가).

도움이 되었습니까?

해결책

MSBuild에 매우 만족하신다면 저는 MSBuild를 계속 사용할 것입니다.이는 먼저 배우는 도구가 선호되는 경우 중 하나일 수 있습니다.NAnt로 시작했는데 MSBuild에 익숙해지지 못했습니다.나는 그 둘이 꽤 오랫동안 함께 있을 것이라고 확신한다.

둘 사이에는 몇 가지 근본적인 차이점이 있는데, 아마도 다음에서 가장 잘 강조될 것입니다. 일부 NAnt 팬과 Microsoftie 간의 대화.

재미있게, 제레미 밀러 정반대의 질문을 했다 그의 블로그에서 작년.

다른 팁

내 생각에는 그것은 개인 취향의 문제에 더 가깝다.nAnt는 훌륭한 프레임워크이고 MSBuild도 거의 비슷한 성능을 발휘합니다.두 프레임워크 모두에서 사용자 정의 작업을 쉽게 개발할 수 있는 기능을 통해 수행해야 하는 거의 모든 작업을 수행할 수 있습니다.

귀하의 질문 중 "아직 지원되는" 부분에 대해서는 답변할 수 없습니다. 그러나 귀하가 이미 nAnt에 익숙하다면 실행 가능할 것입니다.귀하(또는 귀하 그룹의 누군가)가 MSBuild에 익숙하다면 그것도 좋은 방법입니다.

nAnt와 함께 사용하는 사용자 지정 작업이 이미 많이 있다면 계속 사용하세요. MSBuild로는 많은 이점을 얻을 수 없습니다.즉, nAnt가 할 수 있는 일 중 MSBuild가 핵심적으로 할 수 없는 일은 없는 것 같습니다.둘 다 외부 도구를 호출할 수 있고, .Net 기반 사용자 지정 작업을 실행할 수 있으며, 둘 다 다양한 커뮤니티 작업이 있습니다.

여기서는 여러분과 같은 이유로 MSBuild를 사용하고 있습니다. 이는 현재 VS의 기본 빌드 시스템이며 걱정할 nAnt 관련 사항이 없습니다.

그만큼 MSBuild커뮤니티작업 시작하기에 좋은 타사 작업 기반이며 VSS 및 Subversion 지원을 포함하여 nAnt에서 수행한 대부분의 사용자 정의 작업을 다룹니다.

솔직히 그것은 귀하의 환경에 더 잘 맞는 것이 무엇인지에 달려 있습니다.Microsoft 이외의 도구를 많이 사용하는 경우 nunit, ccnet, ncover.아마도 nant를 통해 더 나은 지원을 받을 수 있을 것입니다.또는 MSTest, TFSBuild를 사용하는 경우 MSBuild가 더 나은 환경임을 알 수 있습니다.나는 둘 다 배우고 귀하의 환경에 더 원활하게 맞는 것을 사용할 것입니다.

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

NAnt는 더 오래되고 성숙한 빌드 스크립팅 언어이지만 둘 다 작동 방식이 비슷합니다.NAnt에서 할 수 있는 일 중 MSBuild에서도 할 수 없는 일이 거의 없기 때문에 실제로 어떤 일이 더 편한가가 결정됩니다.NAnt가 얼마나 활동적인지에 관해서는 마지막 릴리스가 있었던 시점을 따르지 말고 대신 마지막 야간 빌드가 있었던 시점을 따르십시오.NAnt는 릴리스 사이에 오랜 시간이 걸리는 경향이 있지만 야간 빌드는 일반적으로 매우 안정적입니다.

이미 많은 사람들이 지적한 것처럼, 여기서의 대답은 "상황에 따라 다르다"입니다.다음과 같은 것들이 있습니다. 반복 작업 NAnt에서는 훨씬 더 간단하고 깔끔합니다.보다 MSDN 포럼 이것에 대한 토론을 위해.

특히 대규모 프로젝트에서는 하이브리드 접근 방식을 사용할 수도 있습니다.새로운 구성 요소가 개발되면 많은 nant 스크립트가 msbuild로 변환됩니다.둘 다 동일한 주요 기능을 지원하며, 한 쪽에서는 기본적으로 지원되지만 다른 쪽에서는 지원되지 않는 작업을 찾으면 서로 호출할 수 있습니다.

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top