다음을 통해 공유


Msbuild를 사용 하 여

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

IronPython 샘플 딥 다이브에 Msbuild에서 기반 언어 프로젝트 시스템의 엔드-투-엔드 샘플 참조는Visual Studio 확장성 샘플.

MSBuild 일반 고려 사항

MSBuild 프로젝트 파일을 예를 들어, Visual C# .csproj 및 Visual Basic .vbproj 파일 빌드 시 사용 되는 디자인 타임에 사용 되는 데이터도 포함할 수 있습니다 데이터를 포함 합니다. MSBuild 기본 요소를 포함 하 여 사용 하 여 빌드 시간 데이터 저장 Item 요소(MSBuild)Property 요소(MSBuild). 프로젝트 형식 및 하위 유형 관련된 프로젝트와 관련 된 데이터는 디자인 타임 데이터를 자유롭게 XML에 예약 되어 저장 됩니다.

MSBuild 구성 개체에 대 한 네이티브 지원 하지는 않지만 구성 관련 데이터를 지정 하는 조건부 특성을 제공 하지. 예를 들면 다음과 같습니다.

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

조건부 속성에 대 한 자세한 내용은 MSBuild 조건부 구문.

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

MSBuild 인터페이스 및 Api 됩니다의 향후 버전에서 변경 될 수 Visual Studio. 따라서 이러한 변경 내용을 차폐 하기 때문에 관리 되는 패키지 (MPF) 프레임 워크 클래스를 사용 하는 것이 바람직합니다.

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

프로젝트별 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 항목에 대 한 래퍼입니다.

단일 파일 생성기가 vs.MSBuild 작업

단일 파일 생성기를 디자인 타임에만 액세스할 수 있지만 디자인 모드와 빌드 시간에 MSBuild 작업을 사용할 수 있습니다. 따라서 최대한의 유연성을 MSBuild 작업 사용 하 여 변환 코드를 생성 합니다. 자세한 내용은 프로젝트 항목 (Visual Studio SDK)를 참조하십시오.

참고 항목

기타 리소스

MSBuild 참조

MSBuild

프로젝트 항목 (Visual Studio SDK)