MSBuild: Microsoft Build Engine este o platformă pentru construirea aplicațiilor. Acest motor, cunoscut și sub numele de MSBuild, oferă o schemă XML pentru fișierele proiectului care controlează modul în care platforma de build gestionează și construiește software-ul. Visual Studio folosește MSBuild, dar MSBuild nu depinde de Visual Studio. Apelând msbuild.exe într-un fișier de proiect sau soluție, poți programa și construi produse într-un mediu fără Visual Studio instalat.
Prezenta:Autentificarea cu hyperlink este vizibilă.
Barabala a spus atât de multe, după cum se vede din nume, că este compilatorul Microsoft, adică programează proiecte în programe executabile, etc.
Folosit anterior, modificați codul folosind un bloc de notițe txt, recompilați cu msbuild, astfel:
Roslyneste un compilator open-source .NET de la Microsoft Corporation. Compilatorul suportă compilarea codului în C# și Visual Basic și oferă API-uri bogate pentru analiza codului. Încercăm să creăm unul nou.NET framework 4.6proiectul, folosind VS 2019, va genera în mod normal setarea MSBuild Project Generate Output Detail, așa cum se arată în imaginea de mai jos:
Faceți clic dreapta pe obiect pentru a încerca să se regenereze, așa cum se arată mai jos:
1>------ Toate reconstrucțiile au fost inițiate: Proiect: ConsoleApp1, Configurație: Depanare Orice CPU ------ 1> Ora de start este 2021/03/21 11:38:08. 1>GenerateBindingRedirects: 1> Nu există redirecționări de legare sugerate în ResolveAssemblyReferences. 1>GenerateTargetFrameworkMonikerAttribute: 1> sare peste ținta "GenerateTargetFrameworkMonikerAttribute" deoarece toate fișierele de ieșire sunt actualizate în raport cu fișierele de intrare. 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 /optimize- /out:obj\Debug\ConsoleApp1.exe /subsystemversion:6.00 /target:exe /utf8output / deterministic+ /langversion:7.3 Program.cs Proprietăți\AssemblyInfo.cs "obj\Debug\. NETFramework,Version=v4.6.AssemblyAttributes.cs" 1> Folosește compilația partajată pentru compilatoare din directorul din coloana din spate: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\Roslyn 1>_CopyAppConfigFile: 1> Copierea fișierelor de la "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\App.config" către "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.exe.config"。 1>CopyFilesToOutputDirectory: 1> Copierea fișierelor de la "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.exe" către "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> Copierea fișierelor de la "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\obj\Debug\ConsoleApp1.pdb" către "C:\Users\itsvse_nuc\source\repos\ConsoleApp1\ConsoleApp1\bin\Debug\ ConsoleApp1.pdb"。 1> 1> a fost generat cu succes. 1> 0 avertismente 1> 0 erori 1> 1> Timp scurs 00:00:00.66 ========== Regenerează toate: 1 reușește, 0 eșuează și 0 ========== sărite Descărcat din alte articole de pe Internet, doar pentru referință:
MSBuild integrat în .NET Framework 4.0 nu recunoaște caracteristicile sintaxei C# 6.0.
"MSBuild" => msbuild.exe, "Roslyn" => csc.exe
MSbuild este sistemul de build al Visual Studio. Acesta apelează compilatorul C# pentru a compila proiectul C#. Roslyn este un compilator C# (și compilator VB). Prin urmare, msbuild folosește Roslyn.
Totuși, Roslyn conține mai mult decât un simplu compilator. Include și un plugin VS care îți oferă funcții IDE (liste de finalizare, culori, corecții de cod etc.).
În plus, Roslyn este un API pentru analiza codului sursă, pe care îl poți folosi în propriile tale aplicații. Pentru ultimul caz, există un API numit MSBuildWorkspace care poate fi folosit pentru a deschide un proiect sau o soluție pentru analiză. Acest spațiu de lucru folosește MSBuild pentru a afla toate părțile unui proiect și soluție. Prin urmare, această parte a Roslin folosește MSBuild.
Rezumat:
Din câte știu, MSBuild este o colecție de compilatoare Microsoft și poate că nu este responsabil pentru compilarea generării, dar ne va ajuta să o chemăm pe Roslyn să compileze codul C#. De asemenea, poate compila cod în alte limbaje și apoi poate chema alți compilatori corespunzători.
Pentru compilarea proiectelor C#, MSBuild este decidența, iar Roslyn este executorul.
|