MSBuild
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
MSBuild는 마이크로소프트에서 개발한 빌드 플랫폼으로, 주로 .NET 프로젝트를 빌드하는 데 사용된다. 2003년 비주얼 스튜디오 2005와 닷넷 프레임워크 2.0을 위해 처음 개발되었으며, 이후 비주얼 스튜디오 및 닷넷 프레임워크의 발전에 따라 지속적으로 업데이트되었다. MSBuild는 대상, 작업, 속성 및 항목으로 구성되며, NMAKE의 기능을 계승하여 Visual Studio의 팀 빌드 기능과 통합되어 사용된다.
더 읽어볼만한 페이지
- 컴파일 도구 - Libtool
Libtool은 다양한 유닉스 계열 운영 체제에서 정적 및 동적 라이브러리 생성을 관리하고, 운영 체제별 차이로 인한 소프트웨어 이식 문제를 해결하기 위해 GNU 빌드 시스템에서 사용되는 도구이다. - 컴파일 도구 - GNU 빌드 시스템
GNU 빌드 시스템은 Autoconf, Automake, Libtool 등의 오토툴과 GNU make 등으로 구성되어 다양한 UNIX 시스템에서 소프트웨어 빌드 및 설치를 지원하지만, 복잡성과 이식성에 대한 비판도 존재한다. - 마이크로소프트 비주얼 스튜디오 - 비주얼 베이직
비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다. - 마이크로소프트 비주얼 스튜디오 - J 샤프
J#은 마이크로소프트에서 개발한 .NET Framework 기반의 프로그래밍 언어로, 자바와 유사한 문법을 가지며 기존 자바 코드의 .NET 플랫폼 이전 및 .NET 언어와의 상호 운용성을 지원했으나 현재는 개발이 중단되었다. - 빌드 자동화 - GNU 빌드 시스템
GNU 빌드 시스템은 Autoconf, Automake, Libtool 등의 오토툴과 GNU make 등으로 구성되어 다양한 UNIX 시스템에서 소프트웨어 빌드 및 설치를 지원하지만, 복잡성과 이식성에 대한 비판도 존재한다. - 빌드 자동화 - Gradle
Gradle은 빌드 프로세스를 자동화하는 오픈 소스 시스템으로, Groovy를 기반으로 하며 짧은 설정 파일로 빌드 단계를 설명하고 플러그인을 통해 기능을 확장하며 Ant와 통합된다.
| MSBuild - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 기본 정보 | |
| 유형 | 빌드 자동화 소프트웨어 |
| 개발자 | 마이크로소프트 .NET 재단 |
| 최초 출시일 | 2003년 |
| 최신 버전 | v17.8.3 |
| 최신 릴리스 날짜 | 2023년 11월 15일 |
| 프로그래밍 언어 | C 샤프 |
| 운영체제 | 크로스 플랫폼 |
| 플랫폼 | .NET Framework .NET |
| 라이선스 | MIT 허가서 |
2. 역사
MSBuild는 2003년 비주얼 스튜디오 2005(코드명 Whidbey)[21] 및 윈도우 비스타(코드명 롱혼/Longhorn)에 사용하기 위해 닷넷 프레임워크 2.0을 대상으로 처음 만들어졌다.[22][23] 초기에는 닷넷 프레임워크와 함께 번들로 제공되었으나, 비주얼 스튜디오 2013부터는 비주얼 스튜디오와 함께 번들로 제공된다.[11]
MSBuild는 닷넷 프레임워크 및 비주얼 스튜디오의 발전에 따라 꾸준히 업데이트되어 왔다. 다음은 주요 버전 정보이다.[24][10]
MSBuild는 Makefile의 매크로와 비슷한 '속성' 및 '항목'을 제공한다. 속성은 정적인 값을 지정하는 데 사용되고, 항목은 일반적으로 작업 실행 대상이 되는 파일이나 폴더 세트를 정의하는 데 사용된다.[5] 와일드카드를 지원하여 항목에 파일을 쉽게 지정할 수 있다.
3. 버전
4. 구성 요소
4. 1. 대상 (Target)
'''대상'''(Target)은 MSBuild가 실행할 작업 집합을 포함한다. MSBuild의 초점은 프로젝트 파일로 MSBuild를 호출할 때 지정된 결과 ''대상''이다. ''프로젝트''는 여러 개의 ''대상'' 항목을 포함할 수 있으며, 각 항목은 순차적으로(그리고 조건부로) 실행된다. 종속 대상은 요청된 대상보다 먼저 실행된다. 현재 ''대상''의 실행 흐름은 Condition, BeforeTargets, AfterTargets, DependsOnTargets 특성을 사용하여 지정할 수 있다. 각 대상은 자체 완료에 필요한 작업을 포함할 수 있다. 대상은 일반적으로 파일, 파일 집합 또는 디렉토리에 대해 실행되는 작업이다.[14]
4. 2. 작업 (Task)
작업(Task)은 대상을 완료하기 위해 실행되는 명령이다. 빌드 프로세스 중에 임의의 수의 작업을 그룹화하고 실행하는 데 사용된다. 작업은 일반적으로 `Task` 클래스를 상속하거나 `ITask` 인터페이스를 구현하는 클래스로 .NET 어셈블리에 구현된다.[14] 다수의 기본적인 작업이 .NET Framework의 일부로 제공되며, 커뮤니티에서 개발한 많은 작업도 자유롭게 이용 가능하다. 작업의 예로는 파일 복사, 디렉토리 생성, XML 구문 분석 등이 있다.
4. 3. 속성 (Property) 및 항목 (Item)
MSBuild는 Makefile의 매크로와 개념적으로 유사한 ''속성'' 및 ''항목''을 제공한다. 속성은 정적인 값을 지정하는 데 사용되는 반면, 항목은 일반적으로 작업 실행 대상이 되는 파일 또는 폴더 세트를 정의하는 데 사용된다.[5] 와일드카드 지원을 통해 항목에 파일을 쉽게 지정할 수 있다.
5. 다중 타겟팅
MSBuild는 지원되는 원하는 .NET Framework 버전에 대해 프로젝트를 빌드할 수 있는 "다중 타겟팅" 기능을 제공한다. 그러나 프로젝트의 주어진 빌드는 한 번에 하나의 프레임워크 버전만을 대상으로 할 수 있다.[6]
6. NMAKE와의 관계
MSBuild는 NMAKE 도구의 기능적인 후계자이다. Visual Studio는 이전 버전의 Visual Studio에서 생성된 프로젝트나 워크스페이스를 VCBuild 또는 MSBuild의 프로젝트나 솔루션으로 변환하는 기능을 제공한다.[5] 예를 들어, Visual Studio 6에서 생성된 dsp/dsw 파일을 Visual Studio .NET 2002/.NET 2003/2005/2008에서 열면 각각 vcproj/sln 파일로 변환된다. Visual Studio 2010 이후 버전에서는 vcxproj/sln 파일로 변환된다.
7. Team Foundation과의 통합
Visual Studio Team System(현 Azure DevOps Server)은 팀 빌드 기능을 위해 MSBuild에 의존한다. 팀 빌드는 원격 빌드 서버에서 실행될 수 있다.[1]
참조
[1]
웹사이트
Latest release
https://github.com/M[...]
Microsoft
2022-08-20
[2]
웹사이트
microsoft/msbuild: The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio
https://github.com/M[...]
Microsoft
2019-07-23
[3]
서적
Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build
Microsoft Press
[4]
웹사이트
MSBuild
https://docs.microso[...]
2019-07-23
[5]
웹사이트
MSBuild Engine is now Open Source on GitHub
https://devblogs.mic[...]
Microsoft
2019-07-23
[6]
웹사이트
MSBuild multitargeting overview
https://docs.microso[...]
2019-07-23
[7]
웹사이트
Building, Testing, and Deployment
http://msdn.microsof[...]
Microsoft
[8]
웹사이트
MSBuild: The New Build System for Visual Studio 2005 and Longhorn
https://blogs.msdn.m[...]
2018-04-22
[9]
웹사이트
Getting Started with MSBuild
https://blogs.msdn.m[...]
2018-04-22
[10]
웹사이트
Standard and custom Toolset configurations
https://docs.microso[...]
2019-07-23
[11]
웹사이트
What's new in MSBuild 12.0
https://docs.microso[...]
2019-07-23
[12]
웹사이트
What's new in MSBuild 15
https://docs.microso[...]
2019-07-23
[13]
웹사이트
What's new in MSBuild 16.0
https://docs.microso[...]
2019-07-23
[14]
웹사이트
MSBuild task reference
https://docs.microso[...]
2019-07-23
[15]
뉴스
OSに標準付属のMSBuildツールでプロジェクトをビルドするには?:.NET TIPS - @IT
https://atmarkit.itm[...]
[16]
문서
VCBuild vs. MSBuild | Microsoft Learn
https://learn.micros[...]
[17]
웹인용
Latest release
https://github.com/M[...]
마이크로소프트
2021-09-01
[18]
웹인용
microsoft/msbuild: The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio
https://github.com/M[...]
마이크로소프트
2019-07-23
[19]
서적
Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build
https://archive.org/[...]
Microsoft Press
[20]
웹인용
MSBuild
https://docs.microso[...]
2019-07-23
[21]
웹인용
Building, Testing, and Deployment
http://msdn.microsof[...]
Microsoft
[22]
웹인용
MSBuild: The New Build System for Visual Studio 2005 and Longhorn
https://blogs.msdn.m[...]
2018-04-22
[23]
웹인용
Getting Started with MSBuild
https://blogs.msdn.m[...]
2018-04-22
[24]
웹인용
Standard and custom Toolset configurations
https://docs.microso[...]
2019-07-23
[25]
웹인용
What's new in MSBuild 12.0
https://docs.microso[...]
2019-07-23
[26]
웹인용
What's new in MSBuild 15
https://docs.microso[...]
2019-07-23
[27]
웹인용
What's new in MSBuild 16.0
https://docs.microso[...]
2019-07-23
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com