다음을 통해 공유


MSBuild 사용

MSBuild는 빌드할 프로젝트 항목, 빌드 작업, 빌드 구성을 완전히 설명하는 프로젝트 파일을 만들기 위한 잘 정의되고 확장 가능한 XML 형식을 제공합니다.

일반 MSBuild 고려 사항

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

MSBuild는 구성 개체에 대한 기본 지원은 제공하지 않지만 구성별 데이터를 지정하기 위한 조건부 특성은 제공합니다. 예시:

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

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

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

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

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

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

클래스 구현
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 작업을 사용하여 코드를 변환하고 생성합니다. 자세한 내용은 사용자 지정 도구를 참조하세요.