Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3803|Odpověď: 7

[Tipy] Použijte Roslyn k dynamické kompilaci kódu v C# a spuštění

[Kopírovat odkaz]
Zveřejněno 06.07.2024 16:59:03 | | | |
Požadavky: Projekt musí generovat různé algoritmy a logiku podle potřeb zákazníka, v tuto chvíli nemusí být kód napsán mrtvý a může být potřeba nějaký pravidlový engine k provedení přizpůsobené logiky.

.NET Compiler Platform, kódově označená Roslyn, je sada open-source API pro kompilátory a analýzu kódu od Microsoftu pro jazyky C# a Visual Basic (VB.NET).

Přezkoumání:

Rozdíl mezi kompilátorem Roslyn MSBuild
https://www.itsvse.com/thread-9596-1-1.html

.NET/C# Roslyn kompilátorová platforma
https://www.itsvse.com/thread-10740-1-1.html
Nejprve vytvořte novou konzolovou aplikaci s následujícím odkazem:

Kód je následující:



Kód C# kompilujeme tak, aby vznikl pouze test.exe formát souboru3KB。 Výsledný soubor test.exe nelze spustit jako spustitelný soubor pro Windows a chyba je hlášena následovně:

Nezpracovaná výjimka: System.IO.FileNotFoundException: Nepodařilo se načíst soubor nebo assembler "System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" nebo jednu z jeho závislostí. Systém nemůže najít daný soubor.
Proto spusťte konzolovou aplikaci pomocí následujících příkazů:

Po provedení je chyba hlášena následovně:

Došlo k fatální chybě. Knihovna 'hostpolicy.dll' potřebná k spuštění aplikace nebyla nalezena v 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\'.
Nepodařilo se mi spustit jako samostatná aplikace.
  - Aplikace byla spuštěna jako samostatná aplikace, protože 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\test.runtimeconfig.json' nebyla nalezena.
  - Pokud by se měla jednat o aplikaci závislou na frameworku, přidejte soubor 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\test.runtimeconfig.json' a určete příslušný framework.
Zhruba řečeno, potřebujete soubor *.runtimeconfig.json, který obsahuje informace o běhu a verzi .NET Core, viz následující:Přihlášení k hypertextovému odkazu je viditelné.

Vytvořte tedy nový test.runtimeconfig.json soubor s následující konfigurací:

Znovu spusťte příkaz a zjistěte, že lze jej provést normálně, jak je znázorněno na následujícím obrázku:



Odkaz:

Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.





Předchozí:.NET/C# převádí PDF na obrázky založené na PDFtoImage
Další:ERP Kingdee Cloud Starry Sky (1) Jednoduché pochopení
 Pronajímatel| Zveřejněno 06.07.2024 16:59:46 |
.NET/C# implementuje horké aktualizace DLL pluginů založené na AssemblyLoadContext
https://www.itsvse.com/thread-10783-1-1.html
 Pronajímatel| Zveřejněno 24.07.2024 17:25:55 |
 Pronajímatel| Zveřejněno 03.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ční assemblery (informace o typech a metadata, nepočítaje konkrétní implementace!) ):C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\8.0.11\ref\net8.0
Knihovna pro běh (specifická implementace): C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.0.11\



 Pronajímatel| Zveřejněno 03.12.2024 10:16:03 |
Referenční sestavy a dokumentace




 Pronajímatel| Zveřejněno 10.12.2024 17:46:00 |
Zároveň můžete vygenerovat symbolický soubor (.pdb)
 Pronajímatel| Zveřejněno 10.12.2024 17:49:22 |
Nastavit režim vydání
 Pronajímatel| Zveřejněno 30.06.2025 13:40:49 |
Malá coura Zveřejněno 24. 7. 2024 17:25
https://github.com/roslynpad/roslynpad/releases

LINQPad:https://www.linqpad.net/
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com