See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 55049|Vastuse: 0

[Allikas] Erinevus Roslyn MSBuild kompilaatori vahel

[Kopeeri link]
Postitatud 21.03.2021 11:55:39 | | | |
MSBuild: Microsoft Build Engine on platvorm rakenduste loomiseks. See mootor, tuntud ka kui MSBuild, pakub projektifailidele XML-skeemi, mis kontrollib, kuidas ehitusplatvorm tarkvara käsitleb ja ehitab. Visual Studio kasutab MSBuildi, aga MSBuild ei sõltu Visual Studiost. Kutsudes msbuild.exe projekti või lahendusfaili sisse, saad ajastada ja luua tooteid keskkonnas, kus Visual Studio pole paigaldatud.

Tutvustada:Hüperlingi sisselogimine on nähtav.

Barabala ütles nii palju, nagu nimest näha, on ta Microsofti kompileerija, st programmeerib projekte käivitatavateks programmideks jne.

Varem kasutatud: muuta koodi txt notepadiga, kompileerida uuesti msbuildiga järgmiselt:

.NET programmide silumine Notepadiga kodus arvutis kümme aastat
https://www.itsvse.com/thread-9419-1-1.html

Roslynon Microsoft Corporationi avatud lähtekoodiga .NET kompilaator. Kompilaator toetab C# ja Visual Basic koodikompileerimist ning pakub rikkalikke koodianalüüsi API-sid.
Püüame luua uue.NET raamistik 4.6projekt, kasutades VS 2019, genereerib MSBuild Project Generate Output Detail seade tavapäraselt, nagu alloleval pildil näidatud:



Paremklõpsa esemel, et proovida regenereerida, nagu allpool näidatud:



1>------ Kõik ümberehitused on algatatud: Projekt: ConsoleApp1, Seadistus: Siluda ükskõik milline protsessori ------
1> Algusaeg on 2021/3/21 11:38:08.
1>GenereeriSidumineSuunab:
1> ResolveAssemblyReferencesis ei ole soovitatud siduvaid ümbersuunamisi.
1>GenerateTargetFrameworkMonikerAttribute:
1> jätab sihtmärgi "GenerateTargetFrameworkMonikerAttribute" vahele, sest kõik väljundfailid on sisendfailide suhtes ajakohased.
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" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Core.dll" /reference:"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" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Net.Http.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\. NETFramework\v4.6\System.Xml.Linq.dll" /debug+ /debug:full /filealign:512 /optimeeri- /out:obj\Debug\ConsoleApp1.exe /subsystemversion:6.00 /target:exe /utf8output / deterministic+ /langversion:7.3 Program.cs Properties\AssemblyInfo.cs "obj\Debug\. NETFrametöö, Version=v4.6.AssemblyAttributes.cs"
1> Kasuta jagatud kompileerimist kompilaatorite jaoks tagumise veeru kataloogist: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn
1>_CopyAppConfigFile:
1> Failide kopeerimine aadressilt "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\App.config" aadressile "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.exe.config"。
1>CopyFilesToOutputDirectory:
1> Failide kopeerimine "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\obj\Debug\ConsoleApp1.exe" failidest "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> Failide kopeerimine aadressilt "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.pdb" aadressile "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.pdb"。
1>
1> on edukalt genereeritud.
1> 0 hoiatust
1> 0 viga
1>
1> Möödunud aeg 00:00:00.66
========== Regenereeri kõik: 1 õnnestub, 0 ebaõnnestub ja 0 ========== vahele jäetud

Allalaaditud teistest artiklitest internetis, ainult viitamiseks:


.NET Framework 4.0 sisseehitatud MSBuild ei tunnista C# 6.0 süntaksi funktsioone.

"MSBuild" => msbuild.exe, "Roslyn" => csc.exe

MSbuild on Visual Studio ehitussüsteem. See kutsub C# kompilaatori C# projekti kompileerimiseks. Roslyn on C# kompilaator (ja VB kompilaator). Seetõttu kasutab msbuild Roslyni.

Kuid Roslyn sisaldab rohkem kui lihtsalt kompilaatorit. Lisaks sisaldab see VS pluginat, mis annab sulle IDE funktsioone (lõpetamisnimekirjad, värvid, koodiparandused jne).

Lisaks on Roslyn API lähtekoodi analüüsimiseks, mida saad kasutada oma rakendustes. Viimase puhul on olemas API nimega MSBuildWorkspace, mida saab kasutada projekti või lahenduse avamiseks analüüsiks. See tööruum kasutab MSBuildi, et leida kõik projekti ja lahenduse osad. Seetõttu kasutab see Roslini osa MSBuildi.


Kokkuvõte:

Minu arusaam on, et MSBuild on Microsofti kompilaatorite kogum ja ta ei pruugi vastutada generatsiooni kompileerimise eest, kuid ta aitab meil kutsuda Roslyni c# koodi kompileerima. Ta suudab ka kompileerida koodi teistes keeltes ja seejärel kutsuda teisi vastavaid kompilaatoriid.

C# projektide kompileerimisel on otsustaja MSBuild ja Roslyn täitja.





Eelmine:ASP.NET Core (VI) DI saab käsitsi objektide süstimise meetodi
Järgmine:.NET/C# Emit genereerib dünaamiliselt kokkupanekuid
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com