MSBuild: Microsoft Build Engine je platforma na tvorbu aplikácií. Tento engine, známy aj ako MSBuild, poskytuje XML schému pre projektové súbory, ktorá riadi, ako build platforma spracováva a vytvára softvér. Visual Studio používa MSBuild, ale MSBuild nezávisí od Visual Studia. Volaním msbuild.exe v projekte alebo súbore riešenia môžete plánovať a vytvárať produkty v prostredí bez nainštalovaného Visual Studia.
Zavádzať:Prihlásenie na hypertextový odkaz je viditeľné.
Barabala povedal toľko, čo je vidieť už z názvu, je kompilátorom Microsoftu, teda programovaním projektov do spustiteľných programov a podobne.
Použité predtým, upraviť kód pomocou txt notepadu, prekompilovať pomocou msbuild, nasledovne:
Roslynje open-source .NET kompilátor od spoločnosti Microsoft Corporation. Kompilátor podporuje kompiláciu kódu v C# a Visual Basicu a poskytuje bohaté API pre analýzu kódu. Snažíme sa vytvoriť nový.NET framework 4.6projektu, používajúc VS 2019, vygeneruje nastavenie MSBuild Project Generate Output Detail normálne, ako je znázornené na obrázku nižšie:
Kliknite pravým tlačidlom myši na položku, aby ste sa pokúsili zregenerovať, ako je znázornené nižšie:
1>------ Všetky rebuildy boli spustené: Projekt: ConsoleApp1, Konfigurácia: Debugovať akýkoľvek CPU ------ 1> Začiatok je 2021/3/21 11:38:08. 1>GenerovaťPresmerovania: 1> V ResolveAssemblyReferences nie sú navrhované viazané presmerovania. 1>GenerateTargetFrameworkMonikerAttribute: 1> preskakovanie cieľa "GenerateTargetFrameworkMonikerAttribute", pretože všetky výstupné súbory sú aktuálne vzhľadom na vstupné súbory. 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" /referencia:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\mscorlib.dll" /referencia:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Core.dll" /referencia:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Data.DataSetExtensions.dll" /referencia:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Data.dll" /referencia:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.dll" /referencia:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Net.Http.dll" /referencia:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Xml.dll" /referencia:"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 Vlastnosti\AssemblyInfo.cs "obj\Debug\. NETFramework,Version=v4.6.AssemblyAttributes.cs" 1> Použitie zdieľanej kompilácie pre kompilátory z adresára zadného stĺpca: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn 1>_CopyAppConfigFile: 1> Kopírovanie súborov z "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\App.config" do "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.exe.config"。 1>CopyFilesToOutputDirectory: 1> Kopírovanie súborov z "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.exe" do "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> Kopírovanie súborov z "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.pdb" do "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.pdb"。 1> 1> bol úspešne generovaný. 1> 0 varovaní 1> 0 chýb 1> 1> Uplynulý čas 00:00:00.66 ========== Regeneruj všetkých: 1 uspeje, 0 zlyhá a 0 ========== preskočených Stiahnuté z iných článkov na internete, len pre referenciu:
Vstavaný MSBuild .NET Framework 4.0 nerozpoznáva syntaxové funkcie C# 6.0.
"MSBuild" => msbuild.exe, "Roslyn" => csc.exe
MSbuild je build systém Visual Studia. Volá kompilátor C# na kompiláciu projektu C#. Roslyn je C# kompilátor (a VB kompilátor). Preto msbuild používa Roslyn.
Roslyn však obsahuje viac než len kompilátor. Obsahuje tiež VS plugin, ktorý poskytuje IDE funkcie (zoznamy dokončení, farby, opravy kódu a pod.).
Okrem toho je Roslyn API na analýzu zdrojového kódu, ktoré môžete použiť vo vlastných aplikáciách. V poslednom prípade existuje API s názvom MSBuildWorkspace, ktoré možno použiť na otvorenie projektu alebo riešenia na analýzu. Tento pracovný priestor používa MSBuild na zistenie všetkých častí projektu a riešenia. Preto táto časť Roslinu používa MSBuild.
Súhrn:
Podľa mojich vlastných informácií je MSBuild zbierka Microsoft kompilátorov a možno nie je zodpovedný za kompiláciu generácie, ale pomôže nám zavolať Roslyn, aby skompilovala c# kód. Dokáže tiež kompilovať kód v iných jazykoch a potom volať ďalšie zodpovedajúce kompilátory.
Pri kompilácii C# projektov je rozhodujúcim orgánom MSBuild a vykonávateľkou Roslyn.
|