Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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>[,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> Відкрийте вихідний файл із вказаним ідентифікатором кодової сторінки
  /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