
メモリから .NET v2 アセンブリを読み込む JScript ファイルを作成するツール。
このファイルは DotNetToJScript の一部です。DotNetToJScript は、任意の .NET アセンブリとクラスをブートストラップする JScript を生成するツールです。 Copyright (C) James Forshaw 2017
DotNetToJScript はフリーソフトウェアです。Free Software Foundation が公開する GNU General Public License のバージョン 3、または(お好みに応じて)それ以降のバージョンの条件に従って、再配布および/または改変することができます。
DotNetToJScript は有用であることを願って配布されていますが、いかなる保証もありません。商品性や特定目的への適合性についての暗黙の保証さえもありません。詳細は GNU General Public License を参照してください。
DotNetToJScript とともに GNU General Public License のコピーを受け取っているはずです。受け取っていない場合は http://www.gnu.org/licenses/ を参照してください。
使用上の注意:
これは(当然ながら)完全信頼の JScript からのみ動作するため、scriptlet などで動作するはずです。デフォルトでは v2/v3/v3.5 がインストールされている場合にのみ動作します。 ただし、出力をビルドする際に '-ver auto' スイッチを指定すると、v4 以降のみの環境でも動作します。ただしその場合、WScript.Shell への依存が生じるため、望まないかもしれません。
これを使用するには、.NET 2 をターゲットとしたアセンブリを作成する必要があります(ただし、ほとんどの場合 .NET 2 が単独でインストールされているのを見かけることはないため、3.5 を使用することもできます)。アセンブリ内で、public かつパラメータなしのコンストラクタで実行したい処理を行う TestClass という名前のクラスを実装してください。
public class TestClass { public TestClass() { /* Start notepad */ Process.Start("notepad.exe"); } }
クラスが public であることを確認してください。その後、このツールに .NET アセンブリのパスを渡します。 クラスに ComVisible 属性を付与すれば、オブジェクトが作成された後にそのオブジェクトと対話することもできます。例:
[ComVisible(true)] public class TestClass { public void DoSomething(string arg) { } }
-c スイッチと名前を追加することで、エントリクラスの名前を変更できます。 また、追加の JScript を含むテキストファイルのパスを -s パラメータで指定することで、オブジェクトと対話する追加コードをツールに追加させることもできます。作成されるオブジェクトは 'o' という名前なので、たとえば DoSomething メソッドを呼び出したい場合は、以下を含むファイルを読み込みます:
o.DoSomething("SomeArg");
デフォルトのモードでは、Windows Scripting Host で実行できる JScript ファイルを出力します。ただし、scriptlet が必要な場合は -m(scriptlet moniker から使用できる scriptlet 用)または -u(regsvr32 から使用できる scriptlet 用)を渡してください。また、'-l vba' スイッチを指定すると Office マクロで動作するはずの VBA ファイルを、'-l vbscript' を指定すると VBScript を出力できます。
最後に、デフォルトではツールは stdout に出力します。-o スイッチを使用すると、ファイルに直接出力できます。