Wymagania: Projekt musi generować różne algorytmy i logikę zgodnie z potrzebami klienta; w tym momencie kod może nie być napisany martwy, a do wykonania dostosowanej logiki może być potrzebny jakiś silnik reguł.
.NET Compiler Platform, o kryptonimie Roslyn, to zestaw open-source API do analizy kompilatorów i analiz kodu Microsoftu dla języków C# i Visual Basic (VB.NET).
Recenzja:
Najpierw stwórz nową aplikację konsolową z następującym odniesieniem:
Kod jest następujący:
Kompilujemy kod C#, aby uzyskać tylko test.exe rozmiar pliku3KB。 Powstały plik test.exe nie może być uruchomiony jako plik wykonywalny Windows, a błąd jest zgłaszany następująco:
Nieobsługiwany wyjątek: System.IO.FileNotFoundException: Nie udało się załadować pliku lub asembla "System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e" lub jednej z jego zależności. System nie może znaleźć określonego pliku. Zatem uruchom aplikację konsolową za pomocą następujących poleceń:
Po wykonaniu błąd jest raportowany następująco:
Napotkano śmiertelny błąd. Biblioteka 'hostpolicy.dll' potrzebna do uruchomienia aplikacji nie została znaleziona w 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\'. Nie udało się uruchomić jako samodzielna aplikacja. - Aplikacja została uruchomiona jako samodzielna aplikacja, ponieważ 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\test.runtimeconfig.json' nie została znaleziona. - Jeśli to ma być aplikacja zależna od frameworka, dodaj plik 'D:\Project\ConsoleApp1\ConsoleApp1\bin\Debug\net8.0\test.runtimeconfig.json' i określ odpowiedni framework. Mówiąc ogólnie, potrzebujesz pliku *.runtimeconfig.json, który zawiera informacje o czasie wykonywania oraz wersję .NET Core, patrz:Logowanie do linku jest widoczne.
Zatem stwórz nowy plik test.runtimeconfig.json o następującej konfiguracji:
Ponownie uruchom polecenie i stwierdzam, że można je wykonać normalnie, jak pokazano na poniższym rysunku:
Odniesienie:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
|