Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 30296|Respuesta: 1

[Fuente] Usa JSC para generar una dll en JavaScript para llamadas a C#

[Copiar enlace]
Publicado el 2-12-2020 12:47:18 | | | |
Requisitos: Cuando simulamos solicitudes HTTP, los parámetros y contenido de las solicitudes pueden involucrar contenido algorítmico, el algoritmo puede encontrarse en JavaScript; si traducimos el algoritmo js al lenguaje de programación que usamos (por ejemplo, Java, C#), es más difícil, normalmente el contenido js está comprimido y confuso, así que si traducimos js directamente a una biblioteca de clases para llamar, es muy bueno.

Utiliza Jurassic para ejecutar funciones js bajo .net
https://www.itsvse.com/thread-4303-1-1.html
Usa JSC para generar el programa exe en JavaScript

test1.js código es el siguiente:

Abre el comando desarrollador de VS 2019 e introduce lo siguiente:

Intenta ejecutar el programa main.exe, ejecutamos el programa a través del comando cmd, hacemos doble clic directamente y el programa pasará rápidamente, de la siguiente manera:



Utiliza JSC para generar una biblioteca dll de JavaScript

test.js código es el siguiente:

El comando es el siguiente:

Crea un nuevo proyecto de consola .NET 4 que haga referencia a la biblioteca de clases common.dll

Luego instancia el objeto y llama a su método. El código es el siguiente:


Como se muestra a continuación:



Puedes usar la herramienta ILSpy para ver el código fuente dll generado, como se muestra en la figura siguiente:



Ruta de archivo de programa jsc: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe

Parámetro:

Microsoft (R) JScript Compiler versión 14.00.3752
para Microsoft (R) .NET Framework versión 4.0.30319
Derechos de autor (C) Microsoft Corporation. Todos los derechos reservados.

jsc [opciones] <源文件> [[opciones] <源文件>...]

                         Opciones del compilador JScript

                           - Archivo de salida -
  /out:<file> Especifica el nombre del archivo binario de salida
  /t[arget]:exe Crear aplicación de consola (por defecto)
  /t[arget]: winexe para crear una aplicación de Windows
  /t[arget]: la biblioteca crea un ensamblador de biblioteca
  /plataforma:<platform> Restringe las plataformas en las que se puede ejecutar este código; Debe ser x86, Itanium, x64 o cualquier CPU (plataforma por defecto)

                           - Archivo de entrada -
  /autoref[+|-] Ensamblajes de referencia automática basados en espacios de nombres importados y nombres totalmente calificados (activados por defecto)
  /lib:<path> Especifica el directorio adicional en el que quieres buscar referencias
  /r[eference]:<lista de archivos> Hace referencia a metadatos del archivo de ensamblador especificado
                           <lista de archivos>: <nombre del ensamblaje>[; <nombre de la asamblea>...]

                           - Fuente -
  /win32res:<file> Especifica archivos de recursos Win32 (.res)
  /res[ource]:<info> Incrustar el recurso especificado
                           <info>: <filename>[,<name>[,público|privado]]
  /linkres[ource]:<info> Enlaza el recurso especificado a este ensamblaje
                           <info>: <filename>[,<name>[,público|privado]]

                           - Generación de código -
  /debug[+|-] para emitir un mensaje de depuración
  /fast[+|-] desactiva las funciones del lenguaje para mejorar la generación de código
  /warnaserror[+|-] trata la advertencia como un error
  /w[arn]:<level> Establecer el nivel de advertencia (0-4)

                           - Miscelánea -
  @<filename> Para más opciones, por favor lee el archivo de respuestas
  /?                       Ayuda para mostrar
  /ayuda muestra ayuda
  /d[efine]:<symbols> Define símbolos de compilación condicional
  /nologo no muestra la marca de derechos de autor del compilador
  /print[+|-] proporciona la función print()

                           - Avanzado -
  /codepage:<id> Abre el archivo fuente con el ID de la página de códigos especificado
  /lcid:<id> Usar el LCID especificado para mensajes y páginas de códigos por defecto
  /nostdlib[+|-] no importa la biblioteca estándar (mscorlib.dll) y cambia el autoref por defecto a desactivado
  /utf8output[+|-] emite la salida del compilador en la codificación de caracteres UTF-8
  /versionsafe[+|-] especifica un valor por defecto para los miembros que no están marcados como "override" o "hide"
(Fin)




Anterior:ASP.NET Core (iii) Crear dinámicamente instancias usando ActivatorUtilities
Próximo:Python utiliza http.server para abrir un servicio http
Publicado el 16-8-2022 16:58:13 |
Aprende a aprender
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com