Udostępnij za pośrednictwem


korzystanie z programu MSBuild

Program MSBuild udostępnia dobrze zdefiniowany, rozszerzalny format XML do tworzenia plików projektu, które w pełni opisują elementy projektu do skompilowania, zadań kompilacji i konfiguracji kompilacji.

Ogólne zagadnienia dotyczące programu MSBuild

Pliki projektów MSBuild, na przykład pliki .csproj i Visual Basic .vbproj, zawierają dane używane w czasie kompilacji, ale także mogą zawierać dane używane w czasie projektowania. Dane czasu kompilacji są przechowywane przy użyciu elementów pierwotnych MSBuild, w tym elementu item (MSBuild) i elementu właściwości (MSBuild). Dane dotyczące czasu projektowania, które są danymi specyficznymi dla typu projektu i powiązanymi podtypami projektu, są przechowywane w postaci bezpłatnej zarezerwowanej dla niego xml.

Program MSBuild nie ma natywnej obsługi obiektów konfiguracji, ale udostępnia atrybuty warunkowe do określania danych specyficznych dla konfiguracji. Na przykład:

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

Aby uzyskać więcej informacji na temat atrybutów warunkowych, zobacz Konstrukcje warunkowe.

Rozszerzanie programu MSBuild dla typu projektu

Interfejsy i interfejsy API programu MSBuild mogą ulec zmianie w przyszłych wersjach programu Visual Studio. W związku z tym należy używać klas zarządzanej struktury pakietów (MPF), ponieważ zapewniają one osłonę przed zmianami.

Program Managed Package Framework for Projects (MPFProj) udostępnia klasy pomocnika do tworzenia nowego systemu projektu i zarządzania nim. Instrukcje dotyczące kodu źródłowego i kompilacji można znaleźć w temacie MPF for Projects — Visual Studio 2013.

Klasy MPF specyficzne dla projektu są następujące:

Klasa Implementacja
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 klasa jest otoką elementów MSBuild.

Generatory pojedynczych plików a zadania programu MSBuild

Generatory pojedynczych plików są dostępne tylko w czasie projektowania, ale zadania programu MSBuild mogą być używane w czasie projektowania i czasie kompilacji. Aby zapewnić maksymalną elastyczność, użyj zadań PROGRAMU MSBuild do przekształcania i generowania kodu. Aby uzyskać więcej informacji, zobacz Narzędzia niestandardowe.