C# でコンパイルされた COM コンポーネントを呼び出す Asp の例
1 新しいクラス ライブラリ MyTestDLL を作成します
2 プロジェクトを右クリック MyTestDLL-》Properties-》Generate-》COM interop の登録にチェックを入れます
3 AssemblyInfo.cs ファイルを開き、[assembly: ComVisible(true)] を変更します。
4 Visual Sutdio 2008 のコマンド プロンプト ツールを開き、「guidgen.exe」と入力します。 DEFINE_GUID を選択し、[新しい GUID] をクリックします。
5つのコード
1. 各クラス名はインターフェイス名に対応します。インターフェイス名は、クラス名に大文字の I を加えたものです。
2. インターフェースで宣言されたメソッドは属性 [DispId(n)] を使用する必要があります。
3. クラスにはパラメーターのないコンストラクターが必要です
コード
システムを使用する;
System.Collections.Generic を使用します。
System.Linq を使用します。
System.Text を使用します。
System.Runtime.InteropServices を使用します。
名前空間 MyTestDll
{
//ここでの GUID はステップ 4 で生成されます。
[ガイド(FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF)]
パブリックインターフェイス IMyTestDll
{
[表示ID(0)]
文字列 GetAbout();
}
パブリック クラス Test1:IMyTestDll
{
PRivate 文字列の概要。
publicTest1()
{
概要 = これは私の最初のテストです。
}
パブリック文字列 GetAbout()
{
要約を返す。
}
}
}
6 プロジェクトの生成
ASPテストコード
<%
ディムオー
o = Server.CreateObject(MyTestDll.Test1) を設定します。
Response.Write o.GetAbout()
o=何も設定しない
%>
ヒント: C# で開発した COM コンポーネントを他のコンピューターで使用する場合は、regasm に登録する必要もあります。
方法は次のとおりです。
まず、bin/Debug ディレクトリ内のファイルをターゲット コンピュータにコピーし、次にコマンド プロンプト ツールを開いて次のように入力します。
regasm /tlb f:/dll/filename.tlb /codebase にコピーしたディレクトリ/filename.dll
このコンピュータでは実行が使用できます