Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 30296|Antwoord: 1

[Bron] Gebruik JSC om een dll in JavaScript te genereren voor C#-aanroepen

[Link kopiëren]
Geplaatst op 2 december 2020 12:47 | | | |
Vereisten: Wanneer we HTTP-verzoeken simuleren, kunnen de verzoekparameters en verzoekinhoud ook algoritme-inhoud bevatten; het algoritme is te vinden in JavaScript, als we het js-algoritme vertalen naar de programmeertaal die we gebruiken (bijv. Java, C#), is het moeilijker, meestal is de js-inhoud gecomprimeerd en verward, dus als we js direct vertalen naar een klassebibliotheek om aan te roepen, is dat erg goed.

Gebruik Jurassic om js-functies uit te voeren onder .net
https://www.itsvse.com/thread-4303-1-1.html
Gebruik JSC om het exe-programma in JavaScript te genereren

test1.js code is als volgt:

Open het VS 2019 ontwikkelaarscommando en voer het volgende in:

Probeer het main.exe programma uit te voeren, we laten het programma via het cmd-commando lopen, dubbelklikken direct, en het programma zal als volgt voorbijgaan, als volgt:



Gebruik JSC om een dll-bibliotheek van JavaScript te genereren

test.js code is als volgt:

Het commando is als volgt:

Maak een nieuw .NET 4 consoleproject aan dat verwijst naar de common.dll class library

Instantiaat vervolgens het object en roep zijn methode aan. De code is als volgt:


Zoals hieronder getoond:



Je kunt de ILSpy-tool gebruiken om de gegenereerde dll-broncode te bekijken, zoals weergegeven in de onderstaande figuur:



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

Parameter:

Microsoft (R) JScript Compiler versie 14.00.3752
voor Microsoft (R) .NET Framework versie 4.0.30319
Auteursrecht (C) Microsoft Corporation. Alle rechten voorbehouden.

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

                         JScript-compileropties

                           - Uitvoerbestand -
  /out:<file> Specificeert de naam van het binaire uitvoerbestand
  /t[arget]:exe Maak consoleapplicatie aan (standaard)
  /t[arget]: winexe om een Windows-applicatie te maken
  /t[arget]: bibliotheek maakt een bibliotheekassembly aan
  /platform:<platform> Beperkt de platforms waarop deze code kan worden uitgevoerd; Moet x86, Itanium, x64 of elke CPU zijn (standaardplatform).

                           - Invoerbestand -
  /autoref[+|-] Auto-referentie-assemblies gebaseerd op geïmporteerde naamruimtes en volledig gekwalificeerde namen (standaard aan)
  /lib:<path> Specificeert de extra map waarin je naar referenties wilt zoeken
  /r[eference]:<bestandslijst> Verwijst naar metadata uit het opgegeven assemblybestand
                           <bestandslijst>: <assemblynaam>[; <naam van de vergadering>...]

                           - Bron -
  /win32res:<file> Specificeert Win32-resourcebestanden (.res)
  /res[ource]:<info> Embed de opgegeven resource
                           : <info><filename>[,<name>[,,publiek|privé]]
  /linkres[ource]:<info> Koppelt de gespecificeerde bron aan deze assembly.
                           : <info><filename>[,<name>[,,publiek|privé]]

                           - Codegeneratie -
  /debug[+|-] om een debugbericht te sturen
  /fast[+|-] schakelt taalfuncties uit om codegeneratie beter te maken
  /warnaserror[+|-] behandelt de waarschuwing als een fout
  /w[arn]:<level> Stel het waarschuwingsniveau in (0-4)

                           - Diversen -
  @<filename> Voor meer opties, lees alstublieft het reactiebestand
  /?                       Hulp met het tonen
  /help toont hulp
  /d[efine]:<symbols> Definieert conditionele compilatiesymbolen
  /nologo toont het auteursrechtmerk van de compiler niet
  /print[+|-] levert de print()-functie

                           - Gevorderd -
  /codepage:<id> Open het bronbestand met de opgegeven codepagina-ID
  /lcid:<id> Gebruik de gespecificeerde LCID voor berichten en standaard codepagina's
  /nostdlib[+|-] importeert de standaardbibliotheek (mscorlib.dll) niet en verandert de autoref standaard naar uit
  /utf8output[+|-] zendt compiler-uitvoer uit in UTF-8 tekencodering
  /versionsafe[+|-] specificeert een standaardwaarde voor leden die niet als "override" of "hide" zijn gemarkeerd.
(Einde)




Vorig:ASP.NET Core (iii) Maakt dynamisch instanties aan met behulp van ActivatorUtilities
Volgend:Python gebruikt http.server om een http-service te openen
Geplaatst op 2022-8-16 16:58:13 |
Leer leren
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com