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

Nézet: 30296|Válasz: 1

[Forrás] Használd a JSC-t a JavaScript-ben dll generálásához C# hívásokhoz

[Linket másol]
Közzétéve: 2020-12-2 12:47:18 | | | |
Követelmények: Amikor HTTP kéréseket szimulálunk, a kérésparaméterek és a kérés tartalma tartalmazhatnak algoritmustartalmat, az algoritmus JavaScriptből található, ha a js algoritmust lefordítjuk a használt programozási nyelvre (pl. Java, C#), nehezebb, általában a js tartalom tömörödött és összezavarodott, így ha közvetlenül a js-t egy osztálykönyvtárba fordítjuk, amit hívhatunk, az nagyon jó.

Utilize Jurassic to execut js functions under .net
https://www.itsvse.com/thread-4303-1-1.html
Használd a JSC-t az exe program generálásához JavaScript-ben

test1.js kód a következő:

Nyisd meg a VS 2019 fejlesztőparancsot, és írd be a következőket:

Próbáljuk meg lefuttatni a main.exe programot, mi a cmd parancson keresztül futtatjuk, dupla kattintással közvetlenül elhaladunk, és a program villog el, a következőként:



Használd a JSC-t egy JavaScript dll könyvtár generálásához

test.js kód a következő:

A parancs a következő:

Hozz létre egy új .NET 4 konzolprojektet, amely hivatkozik az common.dll osztálykönyvtárra

Ezután instantizáljuk az objektumot, és hívjuk meg a módszerét. A kódex a következő:


Ahogy az alábbiakban látható:



Az ILSpy eszközzel megtekintheted a generált dll forráskódot, ahogy az alábbi ábrán látható:



jsc program fájlút: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe

Paraméter:

Microsoft (R) JScript Compiler verzió 14.00.3752
for Microsoft (R) .NET Framework version 4.0.30319
Szerzői jog (C) Microsoft Corporation. Minden jog fenntartva.

JSC [opciók] <源文件> [[opciók] <源文件>...]

                         JScript fordító opciók

                           - Kimeneti fájl -
  /out:<file> Megadja a bináris kimeneti fájl nevét
  /t[arget]:exe Create console application (default)
  /t[arget]: winexe Windows alkalmazás létrehozására
  /t[arget]: könyvtár létrehoz egy könyvtári összeállítást
  /platform:<platform> Korlátozza azokat a platformokat, amelyeken ez a kód futtatható; Kell legyen x86, Itanium, x64 vagy bármely CPU (alapértelmezett platform)

                           - Bemeneti fájl -
  /autoref[+|-] Automatikus hivatkozási összeállítások importált névterek és teljesen minősített nevek alapján (alapértelmezetten bekapcsolva)
  /lib:<path> Megadja azt a további könyvtárat, amelyben hivatkozásokat keresni szeretnél
  /r[eference]:<file list> Hivatkozások a megadott assembly fájlból származó metaadatokra
                           <fájllista>: <assembly név>[; <gyülekezet neve>...]

                           - Forrás -
  /win32res:<file> Megadja a Win32 erőforrás fájlokat (.res)
  /res[ource]:<info> A megadott erőforrás beágyazása
                           <info>: <filename>[,<name>[,public|privát]]
  /linkres[ource]:<info> A megadott erőforrást ehhez a assembly összekapcsolja
                           <info>: <filename>[,<name>[,public|privát]]

                           - Kódgenerálás -
  /debug[+|-] debug üzenet kiadásához
  a /fast[+|-] letiltja a nyelvi funkciókat, hogy a kód jobb generálást tegyen
  a /warnaserror[+|-] hibaként kezeli a figyelmeztetést
  /w[arn]:<level> Állítsd be a figyelmeztető szintet (0-4)

                           - Egyéb -
  @<filename> További lehetőségekért kérjük, olvassa el a válaszfájlt
  /?                       Segítség
  /help show help
  /d[efine]:<symbols> Feltételes fordítási szimbólumokat definiál
  A /nologo nem jeleníti meg a fordító szerzői jogi védjegyét
  a /print[+|-] adja a print() függvényt

                           - Haladó -
  /codepage:<id> Nyisd meg a forrásfájlt a megadott kódlapazonosítóval
  /lcid:<id> Használd a megadott LCID-et üzenetekhez és alapértelmezett kódoldalakhoz
  a /nostdlib[+|-] nem importálja a standard könyvtárat (mscorlib.dll), és az autoref alapértelmezett beállítását kikapcsolja
  /utf8output[+|-] UTF-8 karakterkódolásban bocsátja ki a fordítót
  a /versionsafe[+|-] alapértelmezett értéket ad azoknak az tagoknak, amelyek nincsenek "felülírás" vagy "rejtés" jelzések.
(Vége)




Előző:ASP.NET Core (iii) Dinamikusan hozz létre példányokat az ActivatorUtilities használatával
Következő:A Python http.servert használja egy http szolgáltatás megnyitásához
Közzétéve: 2022-8-16 16:58:13 |
Tanulj meg
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