Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 30296|Antwort: 1

[Quelle] Verwenden Sie JSC, um eine DLL in JavaScript für C#-Aufrufe zu generieren

[Link kopieren]
Veröffentlicht am 2.12.2020, 12:47:18 | | | |
Anforderungen: Wenn wir HTTP-Anfragen simulieren, können die Anforderungsparameter und der Anforderungsinhalt einige Algorithmen enthalten, der Algorithmus kann aus JavaScript stammen; wenn wir den js-Algorithmus in die von uns verwendete Programmiersprache übersetzen (z. B. Java, C#), ist es schwieriger, meist ist der js-Inhalt komprimiert und verwirrt, daher ist es sehr gut, wenn wir js direkt in eine Klassenbibliothek übersetzen, die wir aufrufen können.

Nutzen Sie Jurassic, um js-Funktionen unter .net auszuführen
https://www.itsvse.com/thread-4303-1-1.html
Verwenden Sie JSC, um das exe-Programm in JavaScript zu generieren.

test1.js Code lautet wie folgt:

Öffnen Sie den VS 2019-Entwicklerbefehl und geben Sie Folgendes ein:

Versuchen Sie, das main.exe-Programm auszuführen, wir führen das Programm über den cmd-Befehl aus, doppelklicken direkt und das Programm blinkt wie folgt vorbei:



Verwenden Sie JSC, um eine DLL-Bibliothek mit JavaScript zu generieren

test.js Code ist wie folgt:

Der Befehl lautet wie folgt:

Erstelle ein neues .NET 4-Konsolenprojekt, das auf die common.dll-Klassenbibliothek referenziert

Instanziiere dann das Objekt und rufe seine Methode auf. Der Code lautet wie folgt:


Wie unten gezeigt:



Sie können das ILSpy-Tool verwenden, um den generierten DLL-Quellcode anzuzeigen, wie in der untenstehenden Abbildung gezeigt:



jsc program file path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe

Parameter:

Microsoft (R) JScript Compiler Version 14.00.3752
für Microsoft (R) .NET Framework Version 4.0.30319
Urheberrecht (C) Microsoft Corporation. Alle Rechte vorbehalten.

JSC [Optionen] <源文件> [[Optionen] <源文件>...]

                         JScript-Compiler-Optionen

                           - Ausgabedatei -
  /out:<file> Spezifiziert den Namen der binären Ausgabedatei
  /t[arget]:exe Konsolenanwendung erstellen (Standard)
  /t[arget]: winexe, um eine Windows-Anwendung zu erstellen
  /t[arget]: Bibliothek erstellt eine Bibliotheks-Assembly
  /platform:<platform> Begrenzt die Plattformen, auf denen dieser Code ausgeführt werden kann; Muss x86, Itanium, x64 oder irgendeine beliebige CPU (Standardplattform) sein.

                           - Eingabedatei -
  /autoref[+|-] Autoreferenzassemblies basierend auf importierten Namensräumen und vollständig qualifizierten Namen (standardmäßig aktiviert)
  /lib:<path> Gibt das zusätzliche Verzeichnis an, in dem Sie nach Referenzen suchen möchten.
  /r[eference]:<Dateiliste> Verweist auf Metadaten aus der angegebenen Assemblerdatei
                           <Dateiliste>: <Assemblyname>[; <Name der Versammlung>...]

                           -Quelle-
  /win32res:<file> Spezifiziert Win32-Ressourcendateien (.res)
  /res[ource]:<info> Die angegebene Ressource einbetten
                           : <info><filename>[,<name>[,public|privat]]
  /linkres[ource]:<info> Verknüpft die angegebene Ressource mit dieser Assembler
                           : <info><filename>[,<name>[,public|privat]]

                           - Codegenerierung -
  /debug[+|-], um eine Debug-Nachricht zu senden
  /fast[+|-] deaktiviert Sprachfunktionen, um die Codegenerierung zu verbessern
  /warnaserror[+|-] behandelt die Warnung als Fehler
  /w[arn]:<level> Stellen Sie die Warnstufe ein (0-4)

                           - Verschiedenes -
  @<filename> Für weitere Optionen lesen Sie bitte die Antwortdatei
  /?                       Show-Hilfe
  /Hilfe zeigt Hilfe
  /d[efine]:<symbols> Definiert bedingte Kompilierungssymbole
  /nologo zeigt das Copyright-Zeichen des Compilers nicht an
  /print[+|-] stellt die print()-Funktion bereit

                           - Fortgeschritten -
  /codepage:<id> Öffne die Quelldatei mit der angegebenen Codepage-ID
  /lcid:<id> Verwenden Sie die angegebene LCID für Nachrichten und Standardcodepages
  /nostdlib[+|-] importiert die Standardbibliothek (mscorlib.dll) nicht und ändert den Autoref-Standard auf ausgeschaltet
  /utf8output[+|-] gibt Compiler-Ausgabe in der UTF-8-Zeichenkodierung aus
  /versionsafe[+|-] gibt einen Standardwert für Mitglieder an, die nicht als "Override" oder "hide" markiert sind
(Ende)




Vorhergehend:ASP.NET Core (iii) Erstellen Sie Instanzen dynamisch mit ActivatorUtilities
Nächster:Python verwendet http.server, um einen HTTP-Dienst zu öffnen
Veröffentlicht am 16.8.2022, 16:58:13 |
Lernen lernen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com