Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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. Все права защищены.

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[источник]:<info> Встраивать указанный ресурс
                           <info>: <filename>[,<name>[,публично|частно]]
  /linkres[ource]:<info> Связывает указанный ресурс с этой сборкой
                           <info>: <filename>[,<name>[,публично|частно]]

                           - Генерация кода -
  /debug[+|-] для отправки отладочного сообщения
  /fast[+|-] отключает функции языка для улучшения генерации кода
  /warnaserror[+|-] рассматривает предупреждение как ошибку
  /w[arn]:<level> Установить уровень предупреждения (0-4)

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

                           - Продвинутый -
  /codepage:<id> Откройте исходный файл с указанным идентификатором кодовой страницы
  /lcid:<id> Используйте указанный LCID для сообщений и страниц по умолчанию
  /nostdlib[+|-] не импортирует стандартную библиотеку (mscorlib.dll) и меняет autoref по умолчанию на выключенное
  /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