Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 30296|Resposta: 1

[Fonte] Use o JSC para gerar uma dll em JavaScript para chamadas em C#

[Copiar link]
Postado em 2020-12-2 12:47:18 | | | |
Requisitos: Quando simulamos requisições HTTP, os parâmetros e o conteúdo das requisições podem envolver algum conteúdo do algoritmo, o algoritmo pode ser encontrado em JavaScript; se traduzirmos o algoritmo js para a linguagem de programação que usamos (por exemplo, Java, C#), é mais difícil, geralmente o conteúdo js é comprimido e confuso, então se traduzirmos diretamente js para uma biblioteca de classes para chamarmos, é muito bom.

Utilize o Jurassic para executar funções js em .net
https://www.itsvse.com/thread-4303-1-1.html
Use o JSC para gerar o programa exe em JavaScript

test1.js código é o seguinte:

Abra o comando desenvolvedor do VS 2019 e insira o seguinte:

Tente rodar o programa main.exe, executamos o programa pelo comando cmd, clique dois vezes diretamente e o programa passa rapidamente, da seguinte forma:



Use o JSC para gerar uma biblioteca dll de JavaScript

test.js código é o seguinte:

O comando é o seguinte:

Crie um novo projeto de console .NET 4 que faça referência à biblioteca de classes common.dll

Depois, instanciar o objeto e chamar seu método. O código é o seguinte:


Como mostrado abaixo:



Você pode usar a ferramenta ILSpy para visualizar o código-fonte dll gerado, como mostrado na figura abaixo:



Caminho do arquivo do programa jsc: C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe

Parâmetro:

Microsoft (R) JScript Compiler versão 14.00.3752
para Microsoft (R) .NET Framework versão 4.0.30319
Direitos autorais (C) Microsoft Corporation. Todos os direitos reservados.

JSC [opções] <源文件> [[opções] <源文件>...]

                         Opções do compilador JScript

                           - Arquivo de Saída -
  /out:<file> Especifica o nome do arquivo binário de saída
  /t[arget]:exe Criar aplicativo de console (padrão)
  /t[arget]: winexe para criar um aplicativo Windows
  /t[arget]: a biblioteca cria um conjunto de biblioteca
  /platform:<platform> Restringe as plataformas onde esse código pode ser executado; Deve ser x86, Itanium, x64 ou qualquer CPU (plataforma padrão)

                           - Arquivo de entrada -
  /autoref[+|-] Assembleias de referência automática com base em namespaces importados e nomes totalmente qualificados (ativados por padrão)
  /lib:<path> Especifica o diretório adicional onde você deseja buscar referências
  /r[eference]:<lista de arquivos> Faz referência a metadados do arquivo de montagem especificado
                           <lista de arquivos>: <nome da assembleia>[; <nome da assembleia>...]

                           - Fonte -
  /win32res:<file> Especifica arquivos de recursos Win32 (.res)
  /res[ource]:<info> Incorporar o recurso especificado
                           <info>: <filename>[,<name>[,público|privado]]
  /linkres[ource]:<info> Vincula o recurso especificado a este conjunto
                           <info>: <filename>[,<name>[,público|privado]]

                           - Geração de código -
  /debug[+|-] para emitir uma mensagem de depuração
  /fast[+|-] desativa recursos da linguagem para melhorar a geração de código
  /warnaserror[+|-] trata o aviso como um erro
  /w[arn]:<level> Defina o nível de alerta (0-4)

                           - Diversos -
  @<filename> Para mais opções, por favor leia o arquivo de resposta
  /?                       Mostrar ajuda
  /ajuda mostra ajuda
  /d[efine]:<symbols> Define símbolos de compilação condicional
  /nologo não exibe a marca de direitos autorais do compilador
  /print[+|-] fornece a função print()

                           - Avançado -
  /codepage:<id> Abra o arquivo fonte com o ID especificado da página de código
  /lcid:<id> Use o LCID especificado para mensagens e páginas de código padrão
  /nostdlib[+|-] não importa a biblioteca padrão (mscorlib.dll) e muda o padrão autoref para desligado
  /utf8output[+|-] emite saída do compilador na codificação de caracteres UTF-8
  /versionsafe[+|-] especifica um valor padrão para membros que não são marcados como "override" ou "hide"
(Fim)




Anterior:ASP.NET Core (iii) Criar instâncias dinamicamente usando ActivatorUtilities
Próximo:Python usa http.server para abrir um serviço http
Postado em 2022-8-16 16:58:13 |
Aprenda a aprender
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com