Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 55049|Svar: 0

[Kilde] Forskellen mellem Roslyn MSBuild-compileren

[Kopier link]
Opslået på 21/03/2021 11.55.39 | | | |
MSBuild: Microsoft Build Engine er en platform til at bygge applikationer. Denne motor, også kendt som MSBuild, leverer et XML-skema til projektfiler, der styrer, hvordan byggeplatformen håndterer og bygger software. Visual Studio bruger MSBuild, men MSBuild er ikke afhængig af Visual Studio. Ved at kalde msbuild.exe i en projekt- eller løsningsfil kan du planlægge og bygge produkter i et miljø uden Visual Studio installeret.

Introducere:Hyperlink-login er synlig.

Barabala sagde så meget, som navnet kan se på, at han er compilatoren af Microsoft, altså programmerer projekter til eksekverbare programmer osv.

Brugt før, modificerer koden med txtnotepad, kompiler igen med msbuild, som følger:

Fejlfinding af .NET-programmer med Notepad derhjemme på en computer i ti år
https://www.itsvse.com/thread-9419-1-1.html

Roslyner en open source .NET-kompilator fra Microsoft Corporation. Kompilatoren understøtter C#- og Visual Basic-kodekompilering og tilbyder rige kodeanalyse-API'er.
Vi prøver at skabe en ny.NET-framework 4.6projektet, der bruger VS 2019, vil generere MSBuild Project Generate Output Detail-indstillingen normalt, som vist på billedet nedenfor:



Højreklik på genstanden for at prøve at regenerere, som vist nedenfor:



1>------ Alle genopbygninger er igangsat: Projekt: ConsoleApp1, Konfiguration: Debug enhver CPU ------
1> Starttidspunktet er 2021/3/21 11:38:08.
1>GenerateBindingRedirects:
1> Der er ingen foreslåede bindende omdirigeringer i ResolveAssemblyReferences.
1>GenerateTargetFrameworkMonikerAttribute:
1> springer målfilen "GenerateTargetFrameworkMonikerAttribute" over, fordi alle outputfiler er opdaterede i forhold til inputfilerne.
1>CoreCompile:
1> C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\csc.exe Roslyn\ /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 /optimize- /out:obj\Debug\ConsoleApp1.exe /subsystemversion:6.00 /target:exe /utf8output / deterministic+ /langversion:7.3 Program.cs Egenskaber AssemblyInfo.cs\ "obj\Debug\. NETFramework,Version=v4.6.AssemblyAttributes.cs"
1> Brug delt kompilering for kompilatorer fra bagkolonne-mappen: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn
1>_CopyAppConfigFile:
1> Kopiering af filer fra "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\App.config" til "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.exe.config"。
1>CopyFilesToOutputDirectory:
1> Kopierer filer fra "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.exe" til "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> Kopierer filer fra "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.pdb" til "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.pdb"。
1>
1> er blevet genereret med succes.
1> 0 advarsler
1> 0 fejl
1>
1> Gået tid 00:00:00.66
========== Regenerer alle: 1 lykkes, 0 fejler, og 0 ========== springer over

Downloadet fra andre artikler på internettet, kun til reference:


.NET Framework 4.0's indbyggede MSBuild genkender ikke C# 6.0-syntaksfunktionerne.

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

MSbuild er Visual Studios build-system. Den kalder C#-compileren for at kompilere C#-projektet. Roslyn er en C#-kompilator (og VB-kompilator). Derfor bruger msbuild Roslyn.

Men Roslyn indeholder mere end blot en compiler. Den inkluderer også et VS-plugin, der giver dig IDE-funktioner (fuldførelseslister, farver, koderettelser osv.).

Derudover er Roslyn et API til analyse af kildekode, som du kan bruge i dine egne applikationer. I det sidste tilfælde findes der et API kaldet MSBuildWorkspace, som kan bruges til at åbne et projekt eller en løsning til analyse. Dette arbejdsområde bruger MSBuild til at finde alle dele af et projekt og en løsning. Derfor bruger denne del af Roslin MSBuild.


Resumé:

Min egen forståelse er, at MSBuild er en samling af Microsoft-compilere, og han er måske ikke ansvarlig for at kompilere generationen, men han vil hjælpe os med at ringe til Roslyn for at kompilere c#-koden. Han kan også kompilere kode i andre sprog og derefter kalde andre tilsvarende compilere.

Ved kompilering af C#-projekter er MSBuild beslutningstageren, og Roslyn er eksekutor.





Tidligere:ASP.NET Core (VI) DI henter manuelt metoden til at injicere objekter
Næste:.NET/C# Emitterer dynamisk samlinger
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com