MSBuild - MSBuild

MSBuild
Sviluppatore/i Microsoft
Versione iniziale 2003 ; 18 anni fa ( 2003 )
Rilascio stabile
v16.11.0 / 11 agosto 2021 ; 21 giorni fa ( 2021-08-11 )
Repository
Scritto in C#
Sistema operativo Multipiattaforma
piattaforma .NET Framework , .NET Core
Tipo Strumento di costruzione
Licenza Licenza MIT
Sito web docs .microsoft .com /visualstudio /msbuild /msbuild Modificalo su Wikidata

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
  • C:\Programmi (x86)\Microsoft Visual Studio\2017\ BuildTools \MSBuild\15.0\Bin
  • C:\Programmi (x86)\Microsoft Visual Studio\2017\ Enterprise \MSBuild\15.0\Bin
  • C:\Programmi (x86)\Microsoft Visual Studio\2017\ Community \MSBuild\15.0\Bin
16.0 4.7.2 2019
  • C:\Programmi (x86)\Microsoft Visual Studio\2019\ BuildTools \MSBuild\Current\Bin
  • C:\Programmi (x86)\Microsoft Visual Studio\2019\ Enterprise \MSBuild\Current\Bin
  • C:\Programmi (x86)\Microsoft Visual Studio\2019\ Community \MSBuild\Current\Bin

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

link esterno