Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 3803|Válasz: 7

[Tippek] Használd a Roslyn-t a C# kód dinamikus fordításához és futtatásához

[Linket másol]
Közzétéve 2024. 07. 06. 16:59:03 | | | |
Követelmények: A projektnek különböző algoritmusokat és logikát kell generálnia az ügyfél igényei szerint, ebben az időben a kód nem feltétlenül írható, és szükség lehet valamilyen szabálymotorra a testreszabott logika végrehajtásához.

A .NET Fordítóplatform, kódnevén Roslyn, a Microsoft nyílt forráskódú fordító- és kódelemző API-jai a C# és a Visual Basic (VB.NET) nyelvekhez.

Szemle:

A különbség a Roslyn MSBuild fordító között
https://www.itsvse.com/thread-9596-1-1.html

.NET/C# Roslyn compiler platform
https://www.itsvse.com/thread-10740-1-1.html
Először hozz létre egy új konzolalkalmazást az alábbi hivatkozással:

A kódex a következő:



A C# kódot csak test.exe fájlméretet állítunk ki3KB。 A kapott fájl test.exe nem futtatható Windows futtatható fájlként, és a hiba a következőképpen jelenthető:

Kezeletlen kivétel: System.IO.FileNotFoundException: Nem sikerült betölteni egy fájlt vagy assembly "System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" vagy valamelyik függőségét. A rendszer nem találja meg a megadott fájlt.
Tehát a konzol alkalmazást a következő parancsokkal hajtsd végre:

A végrehajtás után a hibát a következőképpen jelentik:

Végzetes hiba történt. Az alkalmazás végrehajtásához szükséges könyvtár 'hostpolicy.dll' nem található meg a 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\' mappában.
Nem sikerült önálló alkalmazásként futni.
  - Az alkalmazást önálló alkalmazásként futtatták, mert a 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\test.runtimeconfig.json' nem találták meg.
  - Ha ez egy keretrendszerfüggő alkalmazás, adj hozzá a 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\test.runtimeconfig.json' fájlt, és határozd meg a megfelelő keretrendszert.
Nagyjából egy *.runtimeconfig.json fájlra van szükség, amely tartalmazza a futási idejű információkat és a használt .NET Core verziót, hivatkozás:A hiperlink bejelentkezés látható.

Tehát hozz létre egy új test.runtimeconfig.json fájlt a következő konfigurációval:

Futtasd újra a parancsot, és figyeld meg, hogy normálisan is végrehajtható, ahogy az alábbi ábrán látható:



Utalás:

A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.





Előző:A .NET/C# PDFtoImage alapján képekké alakítja át a PDF-eket.
Következő:ERP Kingdee Cloud Csillagos Égbolt (1) Egyszerű megértés
 Háziúr| Közzétéve 2024. 07. 06. 16:59:46 |
.NET/C# DLL plugin hot updates implementál AssemblyLoadContext alapján
https://www.itsvse.com/thread-10783-1-1.html
 Háziúr| Közzétéve 2024. 07. 24. 17:25:55 |
 Háziúr| Közzétéve 2024. 12. 03. 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\ 区别



Referencia összeállítások (típusinformációk és metaadatok, nem tartalmazzák a konkrét megvalósításokat!) ):C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0
Runtime könyvtár (specifikus megvalósítás): C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.11\



 Háziúr| Közzétéve 2024. 12. 03. 10:16:03 |
Referencia összeállítások és dokumentáció




 Háziúr| Közzétéve 2024. 12. 10. 17:46:00 |
Ugyanakkor létrehozhatsz egy szimbólumfájlt (.pdb)
 Háziúr| Közzétéve 2024. 12. 10. 17:49:22 |
Szabadítási mód konfigurálása
 Háziúr| Közzétéve 2025. 06. 30. 13:40:49 |
Kis salak Közzétéve: 2024-07-24, 17:25
https://github.com/roslynpad/roslynpad/releases

LINQPad:https://www.linqpad.net/
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com