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 |
|
Microsoft.VisualStudio.Package.ProjectFactory |
|
Microsoft.VisualStudio.Package.HierarchyNode |
|
Microsoft.VisualStudio.Package.ProjectConfig |
|
Microsoft.VisualStudio.Package.SettingsPage |
Microsoft.VisualStudio.Package.ProjectElement클래스는 MSBuild 항목에 대 한 래퍼입니다.
단일 파일 생성기가 vs.MSBuild 작업
단일 파일 생성기를 디자인 타임에만 액세스할 수 있지만 디자인 모드와 빌드 시간에 MSBuild 작업을 사용할 수 있습니다. 따라서 최대한의 유연성을 MSBuild 작업 사용 하 여 변환 코드를 생성 합니다. 자세한 내용은 프로젝트 항목 (Visual Studio SDK)를 참조하십시오.