문제

가능한 중복:
넝 또는 MSBuild,어느 하나를 선택할 때?

최고의 빌드 도구 .NET?

나는 현재 사용 하지만하기 때문에 경험이 있으며,예를 들면 개미.가 MSBuild preferred?

도움이 되었습니까?

해결책

우리가 실제로 조합하여 사용 MSBuildCruiseControl.넝 사용되는 스크립트 흐름 제어 및 통화 MSBuild 를 컴파일하는 프로젝트입니다.물리적 후 건축가 트리거되면,넝입을 게시하는 데 사용되는 개별 프로젝트를 구축출력 공동 위치에 있습니다.

나이 과정입니다.내 생각은 우리의 많은 여전히고자한 빌드 도구입니다.한 유망한 것은 내가 들어 최근에.순위, 에피소드 362, 이 제임스 코바치의 PSake, 빌드 시스템은 그는 전적으로 기반에 있습니다.그것은 정말 이후 약속과 함께 무엇을 할 수 있는 PowerShell 은 상당히 무한에서는 이론이다.

다른 팁

나는 그냥 버 FinalBuilder 에 있습니다.그것은 무료로하지 않습니다,하지만 너와 함께 편집 XML 파일 및 약간 좋네요(IMO)환경에서 일하고 싶다.

일했으로 그들 모두가 항상 다시 갔을 FinalBuilder.

거기에 또 다른 새로운 도구를(아주 지적인 래퍼)라고 NUBuild.그것은 가볍고,오픈 소스를 매우 쉽게 설치가 제공 거의 없는 터치 유지 보수입니다.이 새로운 도구,그리고 우리는 그것을 만들었는 표준 도구에 대한 우리의 지속적인 구축하고 통합된 프로젝트(우리는 약 400 프로젝트에서 75 개발자).Try it out.

http://nubuild.codeplex.com/

  • 쉽게 사용할 명령행 인터페이스
  • 하는 기능 모두를 대상으로 .NET Framework 버전,즉,1.1,2.0,3.0,3.5
  • 지원 XML 기반의 구성
  • 모두 지원하는 프로젝트 및 파일 references
  • 자동으로 생성하면"완료 주문 목록을 구축"어 프로젝트–터치 유지 보수입니다.
  • 를 감지하는 기능과 표시 원형 종속성
  • 을 수행한 병렬 구축- 자동으로 결정하는 프로젝트에서 생성된 구축 목록 건설 될 수 있습니다.
  • 를 처리하는 능력 프록시 어셈블리
  • 시각적 단서를 구축 프로세스,예를 들어,보여주는"%완료", "현재 상태",등등.
  • 생성한 상세한 실행 로그 XML 에서와 텍스트 형식
  • 과 쉽게 통합 CruiseControl.NET 지속적인 통합 시스템
  • 사용할 수 있는 사용자 정의 로거는 다음과 같 XMLLogger 타겟팅할 때 2.0 버전
  • 는 능력을 오류 로그 분석
  • 를 배포하는 기능을 내장 어셈블리 사용자가 지정된 위치
  • 는 능력을 동기화하는 소스 코드 으로 원본을 제어 시스템
  • 전 관리 기능

내가 사용하는 MSBuild 을 위해 완전히 건물입니다.여기 나의 일반적인 MSBuild 스크립트를 검색하는 나무이다.csproj 파일 구축을:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
  <UsingTask AssemblyFile="$(MSBuildProjectDirectory)\bin\xUnit\xunitext.runner.msbuild.dll" TaskName="XunitExt.Runner.MSBuild.xunit"/>
  <PropertyGroup>
    <Configuration Condition="'$(Configuration)'==''">Debug</Configuration>
    <DeployDir>$(MSBuildProjectDirectory)\Build\$(Configuration)</DeployDir>
    <ProjectMask>$(MSBuildProjectDirectory)\**\*.csproj</ProjectMask>
    <ProjectExcludeMask></ProjectExcludeMask>
    <TestAssembliesIncludeMask>$(DeployDir)\*.Test.dll</TestAssembliesIncludeMask>
  </PropertyGroup>

  <ItemGroup>
    <ProjectFiles Include="$(ProjectMask)" Exclude="$(ProjectExcludeMask)"/>
  </ItemGroup>

  <Target Name="Build" DependsOnTargets="__Compile;__Deploy;__Test"/>

  <Target Name="Clean">
    <MSBuild Projects="@(ProjectFiles)" Targets="Clean"/>
    <RemoveDir Directories="$(DeployDir)"/>
  </Target>

  <Target Name="Rebuild" DependsOnTargets="Clean;Build"/>

  <!--
  ===== Targets that are meant for use only by MSBuild =====
  -->
  <Target Name="__Compile">
    <MSBuild Projects="@(ProjectFiles)" Targets="Build">
      <Output TaskParameter="TargetOutputs" ItemName="AssembliesBuilt"/>
    </MSBuild>
    <CreateItem Include="@(AssembliesBuilt -> '%(RootDir)%(Directory)*')">
      <Output TaskParameter="Include" ItemName="DeployFiles"/>
    </CreateItem>
  </Target>

  <Target Name="__Deploy">
    <MakeDir Directories="$(DeployDir)"/>
    <Copy SourceFiles="@(DeployFiles)" DestinationFolder="$(DeployDir)"/>
    <CreateItem Include="$(TestAssembliesIncludeMask)">
      <Output TaskParameter="Include" ItemName="TestAssemblies"/>
    </CreateItem>
  </Target>

  <Target Name="__Test">
    <xunit Assembly="@(TestAssemblies)"/>
  </Target>
</Project>

(죄송하는 경우 그것은 약간의 고밀도.인 될 것으로 보인 제거함으로 빈 줄.)

그것은 아주 간단하지만 일단 당신이 개념을 이해하는 모든 종속 자동으로 처리됩니다.참고 해야 하는 우리가 사용하는 Visual Studio 프로젝트 파일에는 논리를 많이 내장되어 있지만,가능하도록 하는 시스템을 구축하는 사람들이 거의 동일하게 모두 Visual Studio IDE 내에서 또는 명령행에서 여전히 유연성을 제공합의 것을 추가하는 정식을 구축과 같은 버전 테스트에서 스크립트를 위입니다.

하나 PropertyGroup 는 모든 구성이 발생하고 일을 같이 주문을 받아서 만들어질 수 있습 제외하고 특정 프로젝트 빌드 또는 추가 새로운 테스트를 어셈블리는 마스크가 있습니다.

이 ItemGroup 은 논리를 발생하는 모든다.csproj 파일에 나무입니다.

다음은 목표,대부분의 사람들에 익숙하,넝 또는 MSBuild 할 수 있어야 한다.를 호출할 경우를 구축 대상으로 호출__컴파일,__배포하고__테스트입니다.Clean 대상 전화 MSBuild 에서 모든 프로젝트 파일은 그들을 위해 깨끗한 자신의 디렉토리에 다음의 글로벌 디렉토리를 삭제합니다.다시 호출 깨끗하고 다음니다.

레이크 고 날개다랑어는 우수한 조합.의 힘 루비 및 아 XML.

.NET 오픈 소스 5-.NET 자동화와 레이크 및 Albacore 리암 맥 클레 넌 [Tekpub.com]

우리가 사용하는 , 는 프레임워크에 대한 청소기 건축에서 스크립트 C#.

내가 사용하여 상용 소프트웨어 자동 빌드 스튜디오 에 대한 구축 목적입니다.

우리가 사용하는 MSBuild 기 때문에 우리가 시작 Visual Studio2005 년(지금 Visual Studio2008)및 MSBuild 이미"내에"SDK-더 적은 유지 관리 빌드 서버에서.그것은 넝 복제,이 정말로 모두 도구는 무한히 유연하는 그들은 자신의 빌드업 코드에서,그리고 모두 괜찮은 설정 지역 사회의 구축 작업을 이미 만들어집니다.

를 사용하여 동적인 스크립트 언어 Python 과 같은,부습니다.을 만들고 유지 관리하는 스크립트를 작성할 수 있습할 수 있는 XML 기반으로 하나는 다음과 같 넝.(그들이는 경향이 있기보다 읽기 XML.)

나는 모두 사용 및아보세요 .그것은 정말 나를 위해 힘을 말한 것은"좋은"다른 것보다.

그것은 또한에 따라 달라집 what 당신은 건물입니다.이 MSBuild SDC 태스크 라이브러리 는 몇 가지의 특별한 작업이 있습니다.예를 들어, 광고, BizTalk, 니다,등등.

거기에는 300 개 이상의 작업에서 포함됩 이 라이브러리 작업을 포함하여를 위한:웹사이트를 만들기 응용 프로그램 풀을 생성, Active directory 사용자 실행 FxCop, 가상 서버를 구성하는 방법을 만들고, zip 파일 구성 COM+, 을 만들고, 폴더 공유를 설치로 GAC, 구성 SQL Server, 구성 BizTalk2004BizTalk 2006 년,etc.

나는 모두 사용 MSBuild 및 넝,그리고 나이 많아보세요 MSBuild,주로 많이 필요하기 때문에 더 적은 구성됩니다.할 수 있지만게 복잡하는 것 및 짐 MSBuild 아래의 많은 구성 쓰레도에서 가장 간단한 해결할 수 있습니다 그냥 지점에서 솔루션/프로젝트 파일로 이동의 대부분의 시간이,대부분의 경우,충분하다.

어퍼컷을 사용하 넝를 구축하고 미친 듯이 사용하기 쉽게 구축 Framework.

자동 빌드로 쉽(1)솔루션의 이름,(2)소스어 경로,(3)회사명 대부분의 프로젝트!

http://projectuppercut.org/

몇 가지 좋은 여기에 설명: 어퍼컷

일반적으로 말하자면,나는 느낌을 얻는 넝 더 많은 유연성을 제공해 MSBuild 는 반면,(나이 상대적으로 간단한 요구)나는 괜찮으로 후반까지.

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