VBScriptをC#で拡張する
概要
VBScriptを使っていて、限界を感じたときに使うワザ(?)
前提
.NET Framework 2.0以上
準備
.NET Framework SDKをインストールする
1.キーペアを生成する
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin>sn -k test.snk Microsoft(R) .NET Framework Strong Name Utility バージョン 3.5.30729.1 Copyright (c) Microsoft Corporation. All rights reserved. キー ペア が 'test.snk' に書き込まれました。 C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin>
2.ライブラリを書く
今回はこんな役立たずの足し算ライブラリ。
namespace Test { public class TestClass { public int Add(int a, int b) { return a+b; } } }
test.csとして保存する。
3.コンパイルする
2で作ったtest.csと1で生成したtest.snkを同じディレクトリにおいてコンパイルする。
work>csc /out:test.dll /target:library /keyfile:test.snk test.cs Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.1 for Microsoft (R) .NET Framework version 3.5 Copyright (C) Microsoft Corporation. All rights reserved. work>
test.dllが生成される。
4.生成されたdllを登録する
work>"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe" test.dll /codebase Microsoft(R) .NET Framework Assembly Registration Utility 2.0.50727.3053 Copyright (C) Microsoft Corporation 1998-2004. All rights reserved. 型は正常に登録されました。 work>
5.使ってみる
Set t = CreateObject("Test.TestClass") msgbox(t.add(1, 2))
test.vbsとして保存して、ダブルクリックする。
3が表示されるはず。
課題
どうやって配布するの?