この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 30296|答える: 1

[出典] JSCを使ってJavaScriptでC#コール用のdllを生成します

[リンクをコピー]
2020年12月2日 12:47:18に投稿 | | | |
要件:HTTPリクエストをシミュレートする際、リクエストパラメータやリクエスト内容にアルゴリズムの内容が含まれている場合があります。アルゴリズムはJavaScriptから得られます。jsアルゴリズムを私たちが使うプログラミング言語(例:Java、C#)に翻訳すると難しく、通常jsの内容は圧縮されて混乱しています。ですので、jsを直接クラスライブラリに変換して呼び出すのは非常に良いです。

Jurassicを使って.NET上でjs関数を実行してください
https://www.itsvse.com/thread-4303-1-1.html
JavaScriptでexeプログラムを生成するためにJSCを使ってください

test1.jsコードは以下の通りです:

VS 2019 developerコマンドを開き、以下の入力を入力してください:

main.exeプログラムを実行してみてください。コマンドでプログラムを実行し、ダブルクリックで直接操作すると、プログラムは次のようにフラッシュで通過します。



JSCを使ってJavaScriptのdllライブラリを生成してください

test.jsコードは以下の通りです:

コマンドは以下の通りです:

common.dllクラスライブラリを参照する新しい.NET 4コンソールプロジェクトを作成します

次にオブジェクトをインスタンス化し、そのメソッドを呼び出します。 コードは以下の通りです:


以下に示すように:



ILSpyツールを使って生成されたdllのソースコードを閲覧できます。以下の図に示されています。



jscプログラムファイルパス:C:\Windows\Microsoft.NET\Framework\v4.0.30319\jsc.exe

パラメーター:

Microsoft (R) JScript コンパイラ バージョン 14.00.3752
Microsoft (R) .NET Framework バージョン 4.0.30319
著作権 (C) Microsoft Corporation。 無断転載を禁じます。

JSC [オプション] <源文件> [[オプション] <源文件>...]

                         JScriptコンパイラのオプション

                           - 出力ファイル -
  /out:<file> バイナリ出力ファイルの名前を指定します
  /t[arget]:exe Create console application (default)
  /t[arget]: Windowsアプリケーションを作成するためのwinexe
  /t[arget]: ライブラリはライブラリアセンブリを作成します
  /プラットフォーム:<platform>このコードが実行可能なプラットフォームを制限します。 x86、Itanium、x64、または任意のCPU(デフォルトプラットフォーム)でなければなりません

                           - 入力ファイル -
  /autoref[+|-] インポートされた名前空間と完全修飾名に基づく自動参照アセンブリ(デフォルトでオン)
  /lib:<path> 参照を検索したい追加ディレクトリを指定します
  /r[eference]:<file list>指定されたアセンブリファイルのメタデータを参照
                           <ファイルリスト>: <assembly name>[; <議会名>...]

                           - 出典 -
  /win32res:<file> Win32リソースファイル(.res)を指定します
  /res[ource]:<info> 指定されたリソースを埋め込む
                           <info>: <filename>[<name>,[,公開|非公開]]
  /linkres[ource]:<info> 指定されたリソースをこのアセンブリにリンクします
                           <info>: <filename>[<name>,[,公開|非公開]]

                           - コード生成 -
  /debug[+|-] でデバッグメッセージを発行します
  /fast[+|-] は言語機能を無効化し、コード生成を良くします
  /warnaserror[+|-] は警告をエラーとして扱います
  /w[arn]:<level> 警告レベル(0-4)を設定する

                           - その他 -
  @<filename> さらに多くの選択肢については、回答ファイルをお読みください
  /?                       ヘルプを見せて
  /helpがhelpを示します
  /d[efine]:<symbols>条件付きコンパイル記号を定義します
  /nologoはコンパイラの著作権マークを表示しません
  /print[+|-] は print() 関数を提供します

                           - 上級 -
  /codepage:<id> 指定されたコードページIDでソースファイルを開きます
  /lcid:<id>指定されたLCIDをメッセージおよびデフォルトのコードページに使用してください
  /nostdlib[+|-]は標準ライブラリ(mscorlib.dll)をインポートせず、オートリフのデフォルトをオフに変えます
  /utf8output[+|-] はコンパイラ出力をUTF-8文字エンコーディングで出力します
  /versionsafe[+|-]は、「オーバーライド」や「隠し」としてマークされていないメンバーのデフォルト値を指定します
(終わり)




先の:ASP.NET コア(iii) ActivatorUtilitiesを用いて動的にインスタンスを作成する
次に:Pythonはhttp.serverを使ってhttpサービスを起動します
2022年8月16日 16:58:13に投稿 |
学ぶために
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com