MSBuild: Microsoft Build Engine on alusta sovellusten rakentamiseen. Tämä moottori, joka tunnetaan myös nimellä MSBuild, tarjoaa XML-skeeman projektitiedostoille, joka ohjaa, miten rakennusalusta käsittelee ja rakentaa ohjelmistoja. Visual Studio käyttää MSBuildia, mutta MSBuild ei ole riippuvainen Visual Studiosta. Kutsumalla msbuild.exe projekti- tai ratkaisutiedostoon voit ajoittaa ja rakentaa tuotteita ympäristössä, jossa Visual Studio ei ole asennettuna.
Esitellä:Hyperlinkin kirjautuminen on näkyvissä.
Barabala sanoi paljon, kuten nimestä näkyy, hän on Microsoftin kääntäjä, eli ohjelmoi projekteja suoritettaviksi ohjelmiksi jne.
Aiemmin käytetty koodi on muokattu txt-muistiolevyllä, käännä uudelleen msbuildilla seuraavasti:
Roslynon avoimen lähdekoodin .NET-kääntäjä Microsoft Corporationilta. Kääntäjä tukee C#:n ja Visual Basic -koodin kääntämistä ja tarjoaa monipuolisia koodianalyysirajapintoja. Yritämme luoda uuden.NET framework 4.6projekti, käyttäen VS 2019:ää, luo MSBuild Project Generate Output Detail -asetuksen normaalisti, kuten alla olevassa kuvassa näkyy:
Napsauta kohdetta hiiren oikealla yrittääksesi regeneroida, kuten alla on esitetty:
1>------ Kaikki uudelleenrakennukset on käynnistetty: Projekti: ConsoleApp1, Konfigurointi: Debug Mikä tahansa prosessorin ------ 1> Aloitusaika on 3.2021.2021 klo 11:38:08. 1>GenerateBindingOhjaukset: 1> ResolveAssemblyReferencesissa ei ole ehdotettuja sitovia uudelleenohjauksia. 1>GenerateTargetFrameworkMonikerAttribute: 1> ohittaa kohteen "GenerateTargetFrameworkMonikerAttribute", koska kaikki tulostiedostot ovat ajan tasalla suhteessa syötetiedostoihin. 1>CoreCompile: 1> C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn\csc.exe /noconfig /nowarn:1701,1702,2008 /fullpaths /nostdlib+ /platform: anycpu32bitpreferred /errorreport:prompt /warn:4 /define:DEBUG; TRACE /errorendlocation /preferreduilang:zh-CN /highentropyva+ /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\Microsoft.CSharp.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\mscorlib.dll" /viite:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Core.dll" /viite:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Data.DataSetExtensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Data.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.dll" /viite:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Net.Http.dll" /viite:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Xml.dll" /viite:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Xml.Linq.dll" /debug+ /debug:full /filealign:512 /optimize- /out:obj\Debug\ConsoleApp1.exe /subsystemversion:6.00 /target:exe /utf8output / deterministic+ /langversion:7.3 Program.cs Properties\AssemblyInfo.cs "obj\Debug\. NETFramework, Version=v4.6.AssemblyAttributes.cs" 1> Käytä jaettua käännöstä kääntäjille takasarakkeiden hakemistosta: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn 1>_CopyAppConfigFile: 1> Tiedostojen kopioiminen "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\App.config" -tiedostoista "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.exe.config"。 1>CopyFilesToOutputDirectory: 1> Tiedostojen kopiointi "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\obj\Debug\ConsoleApp1.exe" -tiedostoista "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.exe"。 1> ConsoleApp1 -> C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ConsoleApp1.exe 1> Tiedostojen kopioiminen "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.pdb" -tiedostoista "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.pdb"。 1> 1> on tuotettu onnistuneesti. 1> 0 varoitusta 1> 0 virhettä 1> 1> Kulunut aika 00:00:00.66 ========== Regenerate kaikki: 1 onnistuu, 0 epäonnistuu ja 0 ========== ohitettu Ladattu muista internet-artikkeleista, vain viitteeksi:
.NET Framework 4.0:n sisäänrakennettu MSBuild ei tunnista C# 6.0 -syntaksiominaisuuksia.
"MSBuild" => msbuild.exe, "Roslyn" => csc.exe
MSbuild on Visual Studion rakennusjärjestelmä. Se kutsuu C#-kääntäjää kääntämään C#-projektin. Roslyn on C#-kääntäjä (ja VB-kääntäjä). Siksi msbuild käyttää Roslynia.
Roslyn sisältää kuitenkin enemmän kuin pelkän kääntäjän. Mukana on myös VS-lisäosa, joka tarjoaa IDE-ominaisuuksia (viimeistelylistat, värit, koodikorjaukset jne.).
Lisäksi Roslyn on API lähdekoodin analysointiin, jota voit käyttää omissa sovelluksissasi. Viimeisessä tapauksessa on olemassa API nimeltä MSBuildWorkspace, jota voidaan käyttää projektin tai ratkaisun avaamiseen analyysiä varten. Tämä työtila käyttää MSBuildia löytääkseen kaikki projektin ja ratkaisun osat. Siksi tämä osa Roslinista käyttää MSBuildia.
Yhteenveto:
Oma käsitykseni mukaan MSBuild on Microsoftin kääntäjien kokoelma, eikä hän ehkä ole vastuussa generoinnin kääntämisestä, mutta hän auttaa meitä kutsumaan Roslynin kääntämään c#-koodin. Hän voi myös kääntää koodia muilla kielillä ja kutsua muita vastaavia kääntäjiä.
C#-projektien kokoamisessa MSBuild on päätöksentekijä ja Roslyn toimeenpanija.
|