ASP と VBScript を使用してアプリケーションを作成しています。.Net アプリケーション用に作成されたライブラリしか見つかりません。そこで、クラス ライブラリ ラッパーを作成して、VB.Net (Microsoft Visual Basic 2010 Express) を使用して DLL にコンパイルしようとしました。
DLL は自分のデスクトップ(Windows 7) では動作しますが、サーバー (Server 2000) では失敗します。
エラーメッセージは「指定されたファイルが見つかりません」
サーバー構成
OS : Microsoft Windows 2000 サーバー (SP4)
.Net フレームワークがインストールされています: v2.0.50727
テスト プロジェクトで書いたコードは、何もしない単なるクラスです。
Imports System.IO
Imports System
<ComClass(Object1.ClassId, Object1.InterfaceId, Object1.EventsId)> _
Public Class Object1
#Region "COM GUIDs"
' These GUIDs provide the COM identity for this class
' and its COM interfaces. If you change them, existing
' clients will no longer be able to access the class.
Public Const ClassId As String = "f5dcfb08-7a83-4501-bd89-03e38cad819c"
Public Const InterfaceId As String = "8a313e0b-60e5-4ff4-8a7d-e7b1582eec71"
Public Const EventsId As String = "fe55f7d8-691f-4c76-968a-37019fa9bb53"
#End Region
' A creatable COM class must have a Public Sub New()
' with no parameters, otherwise, the class will not be
' registered in the COM registry and cannot be created
' via CreateObject.
Public Sub New()
MyBase.New()
End Sub
Public Sub Hello()
'...
End Sub
End Class
私がしたこと :
コンパイルオプションで「.NET Framework 2.0」を選択
自分のデスクトップでコンパイルする
Bin\Release からすべてのファイルをサーバー上のフォルダーに直接コピーしました。
Regasm.exe を使用してサーバーに DLL を正常に登録しました
ただし、Object1 は VB6 と VBScript のどちらを使用しても作成できません。
VBScript で使用したスクリプトは次のとおりです。
Option Explicit
Dim TestObject
Set TestObject = CreateObject("TestComObject.Object1")
どんな助けでも大歓迎です!
アレックス