Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3803|Odgovoriti: 7

[Napitnine] Uporabite Roslyn za dinamično prevajanje C# kode in njeno zagon

[Kopiraj povezavo]
Objavljeno na 6. 07. 2024 16:59:03 | | | |
Zahteve: Projekt mora generirati različne algoritme in logiko glede na potrebe naročnika; v tem trenutku koda morda ni napisana mrtva, poleg tega pa je morda potreben nek pogon pravil za izvajanje prilagojene logike.

.NET Compiler Platform, s kodnim imenom Roslyn, je Microsoftov nabor odprtokodnih API-jev za prevajalnike in analizo kode za jezika C# in Visual Basic (VB.NET).

Pregled:

Razlika med prevajalnikom Roslyn MSBuild
https://www.itsvse.com/thread-9596-1-1.html

.NET/C# Roslyn prevajalniška platforma
https://www.itsvse.com/thread-10740-1-1.html
Najprej ustvarite novo konzolno aplikacijo z naslednjo referenco:

Koda je naslednja:



C# kodo prevedemo tako, da ustvarimo le test.exe velikosti datoteke3KB。 Nastale datoteke test.exe ni mogoče zagnati kot izvršljivo datoteko za Windows, napaka pa je prijavljena takole:

Neobdelana izjema: System.IO.FileNotFoundException: Ni uspelo naložiti datoteke ali asemblerja "System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" ali katere od njenih odvisnosti. Sistem ne more najti določene datoteke.
Zato zaženite konzolno aplikacijo z naslednjimi ukazi:

Po izvedbi se napaka poroča takole:

Zgodilo se je usodno napako. Knjižnica 'hostpolicy.dll', potrebna za izvajanje aplikacije, ni bila najdena v 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\'.
Ni delovalo kot samostojna aplikacija.
  - Aplikacija je bila zagnana kot samostojna aplikacija, ker 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\test.runtimeconfig.json' ni bila najdena.
  - Če je to aplikacija, odvisna od ogrodja, dodajte datoteko 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\test.runtimeconfig.json' in določite ustrezno ogrodje.
Približno rečeno, potrebujete *.runtimeconfig.json datoteko, ki vsebuje informacije o izvajanju in različico .NET Core, ki se uporablja, spomnite:Prijava do hiperpovezave je vidna.

Zato ustvarite novo test.runtimeconfig.json datoteko z naslednjo konfiguracijo:

Ponovno zaženite ukaz in ugotovite, da ga je mogoče izvesti normalno, kot je prikazano na naslednji sliki:



Referenčni:

Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.





Prejšnji:.NET/C# pretvarja PDF-je v slike na podlagi PDFtoImage
Naslednji:ERP Kingdee Cloud Starry Sky (1) Preprosto razumevanje
 Najemodajalec| Objavljeno na 6. 07. 2024 16:59:46 |
.NET/C# izvaja vroče posodobitve DLL vtičnikov na podlagi AssemblyLoadContext
https://www.itsvse.com/thread-10783-1-1.html
 Najemodajalec| Objavljeno na 24. 07. 2024 17:25:55 |
 Najemodajalec| Objavljeno na 3. 12. 2024 10:14:58 |
C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0 和 C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.11\ 区别



Referenčni sestavi (tipne informacije in metapodatki, brez specifičnih implementacij!) ):C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0
Knjižnica za izvajanje (specifična implementacija): C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.11\



 Najemodajalec| Objavljeno na 3. 12. 2024 10:16:03 |
Referenčni sestavi in dokumentacija




 Najemodajalec| Objavljeno na 10. 12. 2024 17:46:00 |
Hkrati lahko ustvarite simbolno datoteko (.pdb)
 Najemodajalec| Objavljeno na 10. 12. 2024 17:49:22 |
Konfiguracija načina izdaje
 Najemodajalec| Objavljeno na 30. 06. 2025 13:40:49 |
Mala Objavljeno 24. 7. 2024 ob 17:25
https://github.com/roslynpad/roslynpad/releases

LINQPad:https://www.linqpad.net/
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com