MSBuild — MSBuild
Deweloper(zy) | Microsoft |
---|---|
Pierwsze wydanie | 2003 |
Wersja stabilna | v16.11.0 / 11 sierpnia 2021
|
Magazyn | |
Napisane w | C# |
System operacyjny | Wieloplatformowy |
Platforma | .NET Framework , .NET Core |
Rodzaj | Narzędzie do budowania |
Licencja | Licencja MIT |
Strona internetowa |
dokumenty |
Microsoft Build Engine , lepiej znany jako MSBuild , jest darmowym i otwartym zestawem narzędzi do kompilacji kodu zarządzanego, a także natywnego kodu C++ i był częścią .NET Framework . Program Visual Studio zależy od programu MSBuild, ale nie na odwrót. Zarządzanie cyklem życia aplikacji programu Visual Studio zależy od programu MSBuild do wykonywania kompilacji zespołowych za pośrednictwem usługi Azure DevOps Server .
Przegląd
MSBuild jest narzędzie build , który pomaga zautomatyzować proces tworzenia produktu oprogramowania, w tym kompilacji do kodu źródłowego , pakowania , testowania, wdrażania i tworzenia dokumentacji. Za pomocą programu MSBuild można tworzyć projekty i rozwiązania programu Visual Studio bez zainstalowanego środowiska IDE programu Visual Studio . MSBuild jest darmowy i open-source . MSBuild był wcześniej łączony z .NET Framework ; począwszy od programu Visual Studio 2013 , jednak zamiast tego jest dołączany do programu Visual Studio. MSBuild jest funkcjonalnym zamiennikiem narzędzia nmake , które pozostaje w użyciu w projektach pochodzących ze starszych wersji programu Visual Studio.
MSBuild działa na plikach projektu MSBuild, które mają podobną składnię XML do Apache Ant lub NAnt . Mimo że składnia jest oparta na dobrze zdefiniowanym schemacie XML, podstawowa struktura i działanie jest porównywalne do tradycyjnego narzędzia uniksowego make : użytkownik określa, co będzie używane (zazwyczaj pliki kodu źródłowego) i jaki powinien być wynik (zazwyczaj statyczny biblioteki, biblioteki DLL lub aplikacji wykonywalnej), ale narzędzie samo decyduje o tym, co zrobić io kolejności, w jakiej wykonać kompilację.
Program MSBuild może skompilować projekt na podstawie wybranej obsługiwanej wersji .NET Framework. Ta funkcja nazywana jest „wielokierowaniem”. Jednak dowolna kompilacja projektu może być kierowana tylko na jedną wersję platformy naraz.
Historia
Program MSBuild został po raz pierwszy utworzony w 2003 roku, przeznaczony dla platformy .NET Framework 2.0 do użytku w programie Visual Studio 2005 (o nazwie kodowej Whidbey) i Windows Vista (o nazwie kodowej Longhorn).
Wersje
Wersja | .NET Framework | Wersja programu Visual Studio | Zwykłe lokalizacje instalacji (x86) |
---|---|---|---|
2,0 | 2,0 | 2005 | C:\Windows\Microsoft.NET\Framework\v2.0.50727 |
3,5 | 3,5 | 2008 | C:\Windows\Microsoft.NET\Framework\v3.5 |
4.7.3062.0 | 4.0 | 2010 | C:\Windows\Microsoft.NET\Framework\v4.0.30319 |
4.8.3761.0 | 4.5.2 | 2012 | C:\Windows\Microsoft.NET\Framework\v4.0.30319 |
12,0 | 4.5.2 | 2013 | C:\Pliki programów (x86)\MSBuild\12.0\Bin |
14,0 | 4,6 | 2015 | C:\Program Files (x86)\MSBuild\14.0\Bin |
15,0 | 4,7 | 2017 |
|
16,0 | 4.7.2 | 2019 |
|
Terminologia
- Cel
- Docelowa zawiera zestaw zadań MSBuild wykonać. Fokus programu MSBuild to docelowy wynik określony podczas wywoływania programu MSBuild z plikiem projektu. Dzieje się tak, ponieważ Projekt może zawierać kilka wpisów Target , każdy wykonywany sekwencyjnie (i warunkowo). Kolejne zależne Cele są wykonywane przed żądanym Celem. Przepływ wykonania bieżącego elementu docelowego może być kierowany przy użyciu następujących atrybutów: Condition, BeforeTargets, AfterTargets i DependsOnTargets. Każdy Cel może być samowystarczalny z niezbędnymi Zadaniami do samodzielnego wykonania. Cel to zazwyczaj akcja wykonywana na pliku, zestawie plików lub katalogu.
- Zadanie
- Zadanie to komenda, która jest wykonywana w celu realizacji celu. Zadania służą do grupowania i wykonywania dowolnej liczby akcji podczas procesu kompilacji. Są one zazwyczaj implementowane w zestawie .NET jako klasa, która dziedziczy z klasy Task lub implementuje interfejs ITask. Wiele podstawowych zadań jest dostarczanych w ramach .NET Framework, a zadania opracowane przez społeczność są dostępne bezpłatnie. Niektóre przykłady zadań obejmują kopiowanie plików, tworzenie katalogów lub analizowanie XML.
- Właściwości i przedmioty
- MSBuild udostępnia Properties i Items , które są koncepcyjnie równoważne z makrami make . Właściwości określają wartości statyczne, podczas gdy Elementy są zwykle używane do definiowania zestawów plików lub folderów, na których należy wykonywać Zadania. Określanie plików w elementach jest łatwe dzięki obsłudze symboli wieloznacznych.
Zobacz też
Bibliografia
Dalsza lektura
- Kretzler, Brian (2011). Sztuczka MSBuild: 99 sposobów na nagięcie silnika kompilacji do Twojej woli . Firma K Cross Seven Ranch. P. 426. ISBN 978-0-615-50907-5.
- Hashimi, Sayed Ibrahim (czerwiec 2006). „Wewnątrz MSBuild: kompilowanie aplikacji z niestandardowymi zadaniami dla aparatu kompilacji firmy Microsoft” . Magazyn MSDN . Microsoft. Zarchiwizowane z oryginału w dniu 11 kwietnia 2015 roku . Źródło 11 kwietnia 2013 .
- Hashimi, Sayed Ibrahim (marzec 2007). „Sztuczki WiX: Automatyzacja wydań za pomocą MSBuild i Windows Installer XML” . Magazyn MSDN . Microsoft . Źródło 11 kwietnia 2013 .
- Hashimi, Sayed Ibrahim (luty 2009). „MSBuild: najlepsze praktyki tworzenia niezawodnych kompilacji, część 1” . Magazyn MSDN . Microsoft . Źródło 11 kwietnia 2013 .
- Hashimi, Sayed Ibrahim (marzec 2009). „MSBuild: najlepsze praktyki tworzenia niezawodnych kompilacji, część 2” . Magazyn MSDN . Microsoft . Źródło 11 kwietnia 2013 .
- Reif, Andreas (10 czerwca 2010). „Einführung in Microsofts Build-Management-Technik MSBuild” [Wprowadzenie do technologii zarządzania kompilacją firmy Microsoft, MSBuild]. heise Developer (w języku niemieckim). Heinza Heisego . Źródło 11 kwietnia 2013 .
- Jones, Mike; Warren, Genevieve; Blome, Mike; Robertsona, Colina; Hogenson, Gordon; Cai, Saisang (4 listopada 2016). „Struktura docelowa i platforma docelowa MSBuild” . MSBuild. Dokumenty Microsoft . Pobrano 19.02.2018 .