MSBuild

MSBuild
Developer(s)Microsoft, .NET Foundation
Initial release2003; 22 years ago (2003)
Stable release
v17.8.3 / 15 November 2023; 13 months ago (2023-11-15)[1]
Repository
Written inC#
Operating systemCross-platform
Platform.NET Framework, .NET
TypeBuild tool
LicenseMIT License
Websitedocs.microsoft.com/visualstudio/msbuild/msbuild Edit this on Wikidata

Microsoft Build Engine, or MSBuild,[2][3] is a set of free and open-source build tools for managed code under the Common Language Infrastructure as well as native C and C++ code. It was first released in 2003 and was a part of .NET Framework. MSBuild is included with Visual Studio, but can also be run independently through MSBuild's command-line interface.[4]

Overview

MSBuild is a build tool that helps automate the process of creating a software product, including compiling the source code, packaging, testing, deployment and creating documentations. With MSBuild, it is possible to build Visual Studio projects and solutions without the Visual Studio IDE installed. MSBuild is free and open-source.[5] MSBuild was previously bundled with .NET Framework; starting with Visual Studio 2013, however, it is bundled with Visual Studio instead.[6] MSBuild is a functional replacement for the nmake utility, which remains in use in projects that originated in older Visual Studio releases.

MSBuild acts on MSBuild project files which have a similar XML syntax to Apache Ant or NAnt. Even though the syntax is based upon well-defined XML schema, the fundamental structure and operation is comparable to the traditional Unix make utility: the user specifies what will be used (typically source code files) and what the result should be (typically a static library, DLL or an executable application), but the utility itself decides what to do and the order in which to carry out the build.

MSBuild can build a project against a supported .NET Framework version of choice. This feature is called "multitargeting". Any given build of a project, however, can only target one version of the framework at a time.[7]

History

MSBuild was first created in 2003 targeting .NET Framework 2.0 for use in Visual Studio 2005 (codenamed Whidbey)[8] and Windows Vista (codenamed Longhorn).[9][10]

Versions

Version .NET Framework Visual Studio Version Usual Install Locations (x86)[11]
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[6] 4.5.2 2013 C:\Program Files (x86)\MSBuild\12.0\Bin
14.0 4.6 2015 C:\Program Files (x86)\MSBuild\14.0\Bin
15.0[12] 4.7 2017
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
16.0[13] 4.7.2 2019
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
17.0 2022
  • C:\Program Files\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\Preview\MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin
  • C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin

Terminology

Target
A Target contains a set of tasks for MSBuild to execute. The focus of MSBuild is the result Target specified when invoking MSBuild with the project file. This is because a Project may contain several Target entries, each executed sequentially (and conditionally). Subsequent dependent Targets are executed before the requested Target. The execution flow of the current Target can be directed using the following attributes: Condition, BeforeTargets, AfterTargets, & DependsOnTargets. Each Target may be self-contained with the necessary Tasks to complete itself. A Target is typically an action executed on a file, set of files or directory.
Task
A Task is a command which is executed in order to complete a Target. Tasks are used to group and execute any number of actions during the build process. They are typically implemented in a .NET assembly as a class which inherits from the Task class or implements the ITask interface. Many basic tasks are shipped as part of the .NET Framework,[14] and community developed tasks are freely available. Some examples of Tasks include copying files, creating directories, or parsing XML.
Properties and Items
MSBuild provides Properties and Items, which are conceptually equivalent to make's macros. Properties specify static values, whereas Items are usually used to define sets of files or folders on which to perform Tasks. Specifying files on Items is made easy by the support of wildcards.

See also

References

  1. ^ "Latest release". Microsoft/msbuild. GitHub. Microsoft. Retrieved 2022-08-20.
  2. ^ "microsoft/msbuild: The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio". GitHub. Microsoft. Retrieved 2019-07-23.
  3. ^ Hashimi, Sayed Ibrahim; Bartholomew, William (2009). Inside the Microsoft Build Engine: Using MSBuild and Team Foundation Build. Microsoft Press. p. 406. ISBN 978-0-7356-2628-7.
  4. ^ "MSBuild". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  5. ^ Lander, Rich (18 March 2015). "MSBuild Engine is now Open Source on GitHub". .NET Blog. MSDN Blogs. Microsoft. Retrieved 2019-07-23.
  6. ^ a b "What's new in MSBuild 12.0". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  7. ^ "MSBuild multitargeting overview". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  8. ^ "Building, Testing, and Deployment". What's New in Visual Studio 2005. MSDN. Microsoft. Archived from the original on 2014-08-26.
  9. ^ Sneath, Tim (July 19, 2004). "MSBuild: The New Build System for Visual Studio 2005 and Longhorn". Tim Sneath. MSDN Blogs. Retrieved 2018-04-22.
  10. ^ England, Chuck (February 25, 2010). "Getting Started with MSBuild". The Visual Studio Blog. MSDN Blogs. Retrieved 2018-04-22.
  11. ^ "Standard and custom Toolset configurations". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  12. ^ "What's new in MSBuild 15". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  13. ^ "What's new in MSBuild 16.0". MSBuild. Microsoft Docs. Retrieved 2019-07-23.
  14. ^ "MSBuild task reference". MSBuild. Microsoft Docs. Retrieved 2019-07-23.

Further reading

Read other articles:

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada November 2022. Daniele Galloppa Daniele Galloppa dalam sesi latihan untuk tim Nasional pada November 2009Informasi pribadiTanggal lahir 15 Mei 1985 (umur 38)Tempat lahir Roma, ItaliaTinggi 1,85 m (6 ft 1 in)Posisi bermain GelandangInformasi klubK...

 

United States historic placeFolsom PowerhouseU.S. National Register of Historic PlacesU.S. National Historic LandmarkCalifornia Historical Landmark No. 633 Folsom Powerhouse on the American River in July 2015Show map of CaliforniaShow map of the United StatesLocationFolsom, CaliforniaCoordinates38°40′50″N 121°10′32″W / 38.68056°N 121.17556°W / 38.68056; -121.17556Built1895ArchitectH.T. Knight; Sacramento Electric Power & Light CoNRHP ref...

 

جزء من سلسلة مقالات حولالليبرالية التاريخ تاريخ الفكر الليبرالي مساهمات في النظرية الليبرالية تاريخ الليبرالية الكلاسيكية الأفكار ليبرالية سياسية ليبرالية اقتصادية حرية سياسية ديمقراطية رأسمالية تربية ديمقراطية فردانية اقتصاد عدم التدخل ديمقراطية ليبرالية الحياد ال...

Place in Northern, IsraelMa'agan מַעֲגָןMa'aganCoordinates: 32°42′23″N 35°36′0″E / 32.70639°N 35.60000°E / 32.70639; 35.60000CountryIsraelDistrictNorthernCouncilEmek HaYardenAffiliationKibbutz MovementFounded1949Founded byTransylvanian immigrantsPopulation (2022)[1]395 Ma'agan (Hebrew: מַעֲגָן, lit. 'Harbour') is a kibbutz in northern Israel. Located on the southern shore of the Sea of Galilee, it falls under the jur...

 

American politician Richard G. L. PaigeMember of the Virginia House of Delegates from Norfolk CountyIn officeDecember 3, 1879 – December 5, 1883Preceded byW. Scott SykesSucceeded byRobert B. TabbIn officeDecember 6, 1871 – December 1, 1875Succeeded byMiles Connor Personal detailsBornRichard Gault Leslie Paige(1846-05-31)May 31, 1846Norfolk, Virginia, U.S.DiedSeptember 21, 1904(1904-09-21) (aged 58)Norfolk, Virginia, U.S.Political partyRepublicanAlma materHoward Univ...

 

أغافني بابازيان معلومات شخصية الميلاد سنة 1843   الدولة العثمانية  تاريخ الوفاة القرن 20  مواطنة الدولة العثمانية  الحياة العملية المهنة ممثلة  تعديل مصدري - تعديل   يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مص...

Head of state of Greece President of the Hellenic RepublicΠρόεδρος της Ελληνικής ΔημοκρατίαςPresidential standardIncumbentKaterina Sakellaropoulousince 13 March 2020StyleHer ExcellencyMs. President (informal)ResidencePresidential Mansion, AthensNominatorPrime MinisterAppointerHellenic ParliamentTerm lengthFive years, renewable onceConstituting instrumentConstitution of GreeceInaugural holderMichail Stasinopoulos (Third Republic)Formation18 December 197...

 

خالد السفياني معلومات شخصية الميلاد 16 أبريل 1952 (72 سنة)[1]  القصر الكبير  مواطنة المغرب  عضو في المؤتمر القومي العربي  الحياة العملية المدرسة الأم جامعة محمد الخامس  المهنة سياسي،  ومحامٍ  الحزب الاتحاد الوطني للقوات الشعبيةحزب الاتحاد الاشتراكي للقوا�...

 

Town in North Denmark, DenmarkHirtshalsTownHirtshalsHirtshalsLocation in DenmarkShow map of DenmarkHirtshalsHirtshals (North Jutland Region)Show map of North Jutland RegionCoordinates: 57°35′N 09°57′E / 57.583°N 9.950°E / 57.583; 9.950CountryDenmarkRegionNorth Denmark (Nordjylland)MunicipalityHjørringSettled1860, when the Lighthouse was builtIncorporated (city)1919-1931Area • Urban4.43 km2 (1.71 sq mi)Elevation90 m (295.5 f...

Cet article est une ébauche concernant une chronologie ou une date et le Canada. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Éphémérides Chronologie du Canada 1960 1961 1962  1963  1964 1965 1966Décennies au Canada :1930 1940 1950  1960  1970 1980 1990 Chronologie dans le monde 1960 1961 1962  1963  1964 1965 1966Décennies :1930 1940 1950  1960  1970 19...

 

В Википедии есть статьи о других людях с такой фамилией, см. Донской; Донской, Марк. Марк Донской На Московском кинофестивале. 1963 Имя при рождении Марк Семёнович Донской Дата рождения 21 февраля (6 марта) 1901(1901-03-06) Место рождения Одесса, Херсонская губерния, Российская �...

 

صاحب السمو الأمير سلمان بن عبد العزيز بن سلمان آل سعود معلومات شخصية الميلاد 1 نوفمبر 1982 (العمر 41 سنة)الرياض  مواطنة السعودية  الزوجة الأميرة عريب بنت عبد الله بن عبد العزيز آل سعود الأولاد الأميرة نوف الأب الأمير عبد العزيز بن سلمان بن محمد آل سعود الأم الأميرة نوف بنت...

Organized incorporated territory of the United States, 1900–1959 Territory of HawaiiPanalāʻau o Hawaiʻi (Hawaiian)Organized incorporated territory of the United States1900–1959 Flag Seal Main islands of the Territory of HawaiiAnthemHawaiʻi PonoʻīCapitalHonoluluGovernment • TypeOrganized incorporated territoryGovernor • 1900–1903 (first) Sanford B. Dole• 1957–1959 (last) William F. Quinn Military Governor • 1941 LTG Walter Short•...

 

2018 Mass shooting in Aberdeen, Maryland Aberdeen, Maryland shootingDowntown AberdeenLocationAberdeen, Maryland, US[1]Coordinates39°27′06″N 76°12′31″W / 39.4516°N 76.2087°W / 39.4516; -76.2087DateSeptember 20, 2018 9:06 a.m. (EDT)Attack typeWorkplace shooting and mass shootingWeapons9mm Glock 17[2]Deaths4 (including the perpetrator)Injured3[1]PerpetratorSnochia Moseley[3][dead link]MotiveUnknown On September 20, 2018,...

 

1938 American short film by Charley Chase Violent Is the Word for CurlyDirected byCharley ChaseWritten byAl GieblerElwood UllmanProduced byCharley ChaseHugh McCollumStarringMoe HowardLarry FineCurly HowardBud JamisonGladys GaleAlex NovinskyMarjorie DeannePat GleasonAl ThompsonCinematographyLucien BallardEdited byArt SeidDistributed byColumbia PicturesRelease date July 2, 1938 (1938-07-02) (U.S.) Running time17:51CountryUnited StatesLanguageEnglish Violent Is the Word for Cu...

New Zealand cricketer Norman GallichanGallichan in 1937Personal informationBorn(1906-06-03)3 June 1906Palmerston North, New ZealandDied25 March 1969(1969-03-25) (aged 62)Taupō, New ZealandBattingRight-handedBowlingSlow left-arm orthodoxInternational information National sideNew Zealand (1937)Only Test (cap 33)24 July 1937 v England Domestic team information YearsTeam1929/30–1938/39Wellington Career statistics Competition Test First-class Matches 1 31 Runs scored 32 ...

 

Cycling championship held in Sachsenring, East Germany 1960 UCI Road World ChampionshipsHohenstein-ErnstthalVenueSachsenring, East Germany Date(s) (1960-08-13 - 1960-08-14)13–14 August 1960Coordinates50°48′N 12°43′E / 50.800°N 12.717°E / 50.800; 12.717← Zandvoort 1959Bern 1961 → The 1960 UCI Road World Championships was the 33rd edition of the UCI Road World Championships.[1] It took place on from 13 to 14 August 1960 on...

 

Pour les articles homonymes, voir Signorini. Cet article est une ébauche concernant un peintre italien. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Consultez la liste des tâches à accomplir en page de discussion. Telemaco SignoriniNaissance 18 août 1835FlorenceDécès 10 février 1901 (à 65 ans)FlorenceNationalité italienne (17 mars 1861 - 10 février 1901)Activités Peintre, peintre de paysage, a...

Road in Indonesia This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Solo–Yogyakarta Toll Road – news · newspapers · books · scholar · JSTOR (October 2022) (Learn how and when to remove this message) Solo-Yogyakarta Toll RoadRoute informationMaintained by PT Jasa Marga Jogja SoloLength96.57 km (60.0...

 

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (May 2024) (Learn how and when to remove this message)Pneumatic recuperator and hydraulic recoil cylinder arrangement of QF 4.7 inch naval gun, World War II A hydraulic recoil mechanism is a way of limiting the effects of recoil and adding to the accuracy and firepower of an art...