Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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ą specyficzne dla typu projektu i wszelkich powiązanych podtypów projektu, są przechowywane w swobodnej formie XML przeznaczonej dla nich.
Program MSBuild nie ma natywnej obsługi obiektów konfiguracji, ale udostępnia atrybuty warunkowe do określania danych specyficznych dla konfiguracji. 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:
| Class | 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 klasa jest opakowaniem dla 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.