Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 30296|Отговор: 1

[Източник] Използвайте JSC за генериране на dll в JavaScript за C# извиквания

[Копирай линк]
Публикувано на 2020-12-2 12:47:18 | | | |
Изисквания: Когато симулираме HTTP заявки, параметрите на заявката и съдържанието на заявката може да включват някакво съдържание на алгоритъма, алгоритъмът може да се намери от JavaScript, ако преведем алгоритъма js на програмния език, който използваме (например Java, C#), е по-трудно, обикновено съдържанието на js е свито и обърквано, така че ако преведем js директно в библиотека с класове, която да извикаме, това е много добре.

Използвайте Jurassic за изпълнение на js функции под .net
https://www.itsvse.com/thread-4303-1-1.html
Използвайте JSC за генериране на exe програмата в JavaScript

test1.js код е следният:

Отворете командата разработчик VS 2019 и въведете следното:

Опитайте да стартирате main.exe програма, пускаме програмата през командата cmd, кликваме два пъти директно и програмата преминава по следния начин:



Използвайте JSC за генериране на dll библиотека с JavaScript

test.js код е следният:

Командата е следната:

Създайте нов .NET 4 конзолен проект, който се позовава на библиотеката с класове common.dll

След това инстанцирай обекта и извикай неговия метод. Кодът е следният:


Както е показано по-долу:



Можете да използвате инструмента ILSpy, за да видите генерирания dll изходен код, както е показано на фигурата по-долу:



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

Параметър:

Microsoft (R) JScript Compiler версия 14.00.3752
за Microsoft (R) .NET Framework версия 4.0.30319
Авторски права (C) Microsoft Corporation. Всички права запазени.

JSC [Опции] <源文件> [[Опции] <源文件>...]

                         Опции за компилатор на JScript

                           - Изходен файл -
  /out:<file> Определя името на двоичния изходен файл
  /t[arget]:exe Създаване на конзолно приложение (по подразбиране)
  /t[arget]: winexe за създаване на Windows приложение
  /t[arget]: библиотеката създава библиотечна асемблея
  /platform:<platform> Ограничава платформите, на които този код може да се изпълнява; Трябва да е x86, Itanium, x64 или който и да е процесор (стандартна платформа).

                           - Входен файл -
  /autoref[+|-] Автоматично препращане към сборки, базирани на импортирани пространства от имена и напълно квалифицирани имена (включено по подразбиране)
  /lib:<path> Определя допълнителната директория, в която искате да търсите референции
  /r[eference]:<списък с файлове> Препратки към метаданни от посочения асемблер файл
                           <списък с файлове>: <име на събрание>[; <име на събранието>...]

                           - Източник -
  /win32res:<file> Специфицира Win32 ресурсни файлове (.res)
  /res[ource]:<info> Вградете посочения ресурс
                           <info>: <filename>[,<name>[,public|private]]
  /linkres[ource]:<info> Свързва посочения ресурс с тази асемблея
                           <info>: <filename>[,<name>[,public|private]]

                           - Генериране на код -
  /debug[+|-] за изпращане на дебъг съобщение
  /fast[+|-] деактивира езиковите функции, за да направи кода по-добро генериране
  /warnaserror[+|-] третира предупреждението като грешка
  /w[arn]:<level> Задайте нивото на предупреждение (0-4)

                           - Разни -
  @<filename> За повече опции, моля, прочетете файла с отговори
  /?                       Покажи помощ
  /help показва помощ
  /d[efine]:<symbols> Дефинира условни компилационни символи
  /nologo не показва авторския знак на компилатора
  /print[+|-] предоставя функцията print()

                           - Напреднали -
  /codepage:<id> Отворете изходния файл с посочения ID на кодовата страница
  /lcid:<id> Използвайте посочения LCID за съобщения и стандартни кодови страници
  /nostdlib[+|-] не импортира стандартната библиотека (mscorlib.dll) и променя автоматичната референция по подразбиране на изключена
  /utf8output[+|-] излъчва изход на компилатор в UTF-8 кодиране на символи
  /versionsafe[+|-] определя стойност по подразбиране за членове, които не са маркирани като "override" или "hide"
(Край)




Предишен:ASP.NET Ядро (iii) Динамично създаване на инстанции чрез ActivatorUtilities
Следващ:Python използва http.server за отваряне на http услуга
Публикувано на 2022-8-16 16:58:13 |
Научи се да учиш
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com