MSBuild - MSBuild
Sviluppatore/i | Microsoft |
---|---|
Versione iniziale | 2003 |
Rilascio stabile | v16.11.0 / 11 agosto 2021
|
Repository | |
Scritto in | C# |
Sistema operativo | Multipiattaforma |
piattaforma | .NET Framework , .NET Core |
Tipo | Strumento di costruzione |
Licenza | Licenza MIT |
Sito web |
docs |
Microsoft Build Engine , meglio noto come MSBuild , è un set di strumenti di compilazione gratuito e open source per codice gestito e codice C++ nativo e faceva parte di .NET Framework . Visual Studio dipende da MSBuild, ma non viceversa. Visual Studio Application Lifecycle Management dipende da MSBuild per eseguire build di team tramite Azure DevOps Server .
Panoramica
MSBuild è uno strumento di compilazione che aiuta ad automatizzare il processo di creazione di un prodotto software, inclusa la compilazione del codice sorgente , il confezionamento , il test, la distribuzione e la creazione di documentazione. Con MSBuild è possibile creare progetti e soluzioni di Visual Studio senza l' IDE di Visual Studio installato. MSBuild è gratuito e open-source . MSBuild era precedentemente in bundle con .NET Framework ; a partire da Visual Studio 2013 , tuttavia, viene invece fornito in bundle con Visual Studio. MSBuild è un sostituto funzionale dell'utilità nmake , che rimane in uso nei progetti originati da versioni precedenti di Visual Studio.
MSBuild agisce sui file di progetto MSBuild che hanno una sintassi XML simile ad Apache Ant o NAnt . Anche se la sintassi si basa su uno schema XML ben definito, la struttura e il funzionamento fondamentali sono paragonabili alla tradizionale utility make Unix : l'utente specifica cosa verrà utilizzato (tipicamente file di codice sorgente) e quale dovrebbe essere il risultato (tipicamente un file statico libreria, DLL o un'applicazione eseguibile), ma è l'utility stessa a decidere cosa fare e l'ordine in cui eseguire la build.
MSBuild può creare un progetto rispetto a una versione .NET Framework supportata a scelta. Questa funzione è chiamata "multitargeting". Tuttavia, qualsiasi build di un progetto può essere destinata a una sola versione del framework alla volta.
Storia
MSBuild è stato creato per la prima volta nel 2003 con l'obiettivo di .NET Framework 2.0 per l'utilizzo in Visual Studio 2005 (nome in codice Whidbey) e Windows Vista (nome in codice Longhorn).
Versioni
Versione | .NET Framework | Versione di Visual Studio | Posizioni di installazione usuali (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:\Programmi (x86)\MSBuild\12.0\Bin |
14.0 | 4.6 | 2015 | C:\Programmi (x86)\MSBuild\14.0\Bin |
15.0 | 4.7 | 2017 |
|
16.0 | 4.7.2 | 2019 |
|
Terminologia
- Obbiettivo
- Una destinazione contiene una serie di attività che MSBuild deve eseguire. Il focus di MSBuild è il risultato Target specificato quando si richiama MSBuild con il file di progetto. Questo perché un Progetto può contenere più voci Target , ciascuna eseguita in sequenza (e condizionatamente). I Target dipendenti successivi vengono eseguiti prima del Target richiesto. Il flusso di esecuzione del Target corrente può essere diretto utilizzando i seguenti attributi: Condition, BeforeTargets, AfterTargets e DependsOnTargets. Ogni Target può essere autonomo con le attività necessarie per completarsi. Un Target è in genere un'azione eseguita su un file, un insieme di file o una directory.
- Compito
- Un Task è un comando che viene eseguito per completare un Target. Le attività vengono utilizzate per raggruppare ed eseguire qualsiasi numero di azioni durante il processo di compilazione. In genere sono implementati in un assembly .NET come una classe che eredita dalla classe Task o implementa l'interfaccia ITask. Molte attività di base vengono fornite come parte di .NET Framework e le attività sviluppate dalla community sono disponibili gratuitamente. Alcuni esempi di attività includono la copia di file, la creazione di directory o l'analisi di XML.
- Proprietà e oggetti
- MSBuild fornisce Properties ed Items , che sono concettualmente equivalenti alle macro di make . Le proprietà specificano valori statici, mentre gli elementi vengono solitamente utilizzati per definire insiemi di file o cartelle su cui eseguire attività. La specifica dei file sugli elementi è facilitata dal supporto dei caratteri jolly.
Guarda anche
Riferimenti
Ulteriori letture
- Kretzler, Brian (2011). MSBuild Trickery: 99 modi per piegare il motore di costruzione alla tua volontà . K Cross Seven Ranch Company. P. 426. ISBN 978-0-615-50907-5.
- Hashimi, Sayed Ibrahim (giugno 2006). "Inside MSBuild: compilazione di app con attività personalizzate per Microsoft Build Engine" . Rivista MSDN . Microsoft. Archiviato dall'originale l'11 aprile 2015 . Estratto l' 11 aprile 2013 .
- Hashimi, Sayed Ibrahim (marzo 2007). "WiX Tricks: automatizza le versioni con MSBuild e Windows Installer XML" . Rivista MSDN . Microsoft . Estratto l' 11 aprile 2013 .
- Hashimi, Sayed Ibrahim (febbraio 2009). "MSBuild: best practice per la creazione di build affidabili, parte 1" . Rivista MSDN . Microsoft . Estratto l' 11 aprile 2013 .
- Hashimi, Sayed Ibrahim (marzo 2009). "MSBuild: best practice per la creazione di build affidabili, parte 2" . Rivista MSDN . Microsoft . Estratto l' 11 aprile 2013 .
- Reif, Andreas (10 giugno 2010). "Einführung in Microsofts Build-Management-Technik MSBuild" [Introduzione alla tecnologia di gestione delle build di Microsoft, MSBuild]. heise Developer (in tedesco). Heinz Heise . Estratto l' 11 aprile 2013 .
- Jones, Mike; Warren, Genevieve; Blome, Mike; Robertson, Colin; Hogenson, Gordon; Cai, Saisang (4 novembre 2016). "Quadro di destinazione MSBuild e piattaforma di destinazione" . MSBuild. Microsoft Docs . Estratto il 19/02/2018 .