다음을 통해 공유


MSBuild 사용

MSBuild는 빌드, 작업 빌드 및 빌드 구성을 완벽하게 설명하는 프로젝트 파일을 만들기 위한 잘 정의된 확장 가능한 XML 형식을 제공합니다.

일반 MSBuild 고려 사항

MSBuild 프로젝트 파일(예: Visual C# .csproj 및 Visual Basic .vbproj 파일)은 빌드 시 사용되는 데이터를 포함하지만 디자인 타임에 사용되는 데이터를 포함할 수도 있습니다. 빌드 시간 데이터는 ITEM 요소(MSBuild) 및 속성 요소(MSBuild) 를 비롯한 MSBuild 기본 형식을 사용하여 저장됩니다. 프로젝트 형식 및 관련 프로젝트 하위 형식과 관련된 데이터인 디자인 타임 데이터는 이를 위해 예약된 자유 형식 XML에 저장됩니다.

MSBuild는 구성 개체에 대한 기본 지원을 제공하지 않지만 구성 관련 데이터를 지정하기 위한 조건부 특성을 제공합니다. 다음은 그 예입니다.

<OutputDir Condition="'$(Configuration)'=="release'">Bin\MyReleaseConfig</OutputDir>

조건부 특성에 대한 자세한 내용은 조건부 구문을 참조하세요.

프로젝트 형식에 대한 MSBuild 확장

MSBuild 인터페이스 및 API는 이후 버전의 Visual Studio에서 변경될 수 있습니다. 따라서 MPF(관리되는 패키지 프레임워크) 클래스는 변경 내용으로부터 보호되므로 사용하는 것이 좋습니다.

MPFProj(Managed Package Framework for Projects)는 새 프로젝트 시스템을 만들고 관리하기 위한 도우미 클래스를 제공합니다. 프로젝트용 MPF - Visual Studio 2013에서 소스 코드 및 컴파일 지침을 찾을 수 있습니다.

프로젝트별 MPF 클래스는 다음과 같습니다.

클래스 Implementation
Microsoft.VisualStudio.Package.ProjectNode IVsProject3

IVsCfgProvider2

IPersistFileFormat

IVsSolutionEvents
Microsoft.VisualStudio.Package.ProjectFactory IVsProjectFactory
Microsoft.VisualStudio.Package.HierarchyNode IVsHierarchy
Microsoft.VisualStudio.Package.ProjectConfig IVsCfg

IVsProjectCfg

IVsBuildableProjectCfg

IVsDebuggableProjectCfg
Microsoft.VisualStudio.Package.SettingsPage IPropertyPageSite

Microsoft.VisualStudio.Package.ProjectElement 클래스는 MSBuild 항목에 대한 래퍼입니다.

단일 파일 생성기 및 MSBuild 작업

단일 파일 생성기는 디자인 타임에만 액세스할 수 있지만 MSBuild 작업은 디자인 타임 및 빌드 타임에 사용할 수 있습니다. 따라서 유연성을 극대화하려면 MSBuild 작업을 사용하여 코드를 변환하고 생성합니다. 자세한 내용은 사용자 지정 도구를 참조하세요.