Нужно вызвать DLL-библиотеку классов .Net со страницы классического ASP - PullRequest
2 голосов
/ 15 ноября 2011

Мне нужно вызвать библиотеку классов .Net из приложения vbscript
Я написал библиотеку классов C # и создал компонент COM DLL и файл библиотеки типов
Я успешно зарегистрировал dll и tlb на моемлокальный компьютер с использованием

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe 
  "C:\user\Visual Studio 2008\Projects\[Sample]\[Sample]\bin\Debug\[Sample].dll" 
  /tlb "C:\user\Visual Studio 2008\Projects\[Sample]\[Sample]\bin\Debug\[Sample].tlb"

DLL и файл библиотеки типов зарегистрированы успешно
Я вижу их в реестре Windows

Теперь проблема заключается в доступе к нему на странице asp:

<%@  Language=VBScript %>
<html> 
<body>
<%


dim cls
dim myDevelopmentDBConn

Set myDevelopmentDBConn = Server.CreateObject("ADODB.Connection")
With myDevelopmentDBConn
.Provider = "SQLNCLI"
.ConnectionString = "user ID=abc;password=abc;Initial Catalog=TestLdb;Data         
 Source=sqlservername"
.ConnectionTimeout = 600
.CommandTimeout = 600
.Open
 End With
Response.Write  myDevelopmentDBConn
Set myDevelopmentDBConn =nothing
Set cls = Server.CreateObject("Sample.SqlJobs") 'SqlJobs is the name of the class 
Response.Write cls

'Response.Write "<b>" & cls.UpdateSqlJob("Test1","sqlservername", "abc", "abc" ) & "</b>"

'Test1=sqlserverjob name
'abc-username
'abc-password
Set cls =nothing
%>

</body>

</html>

При запуске этого файла я получил следующую ошибку

Невозможно отобразить страницу

Я получаю ошибку

Тип ошибки:
Объект сервера, ASP 0177 (0x80131522)
80131522
/testdll.asp, строка 25
Set cls = Server.CreateObject ("Sample.SqlJobs")// SqlJobs - это имя класса
Это будет строка 25
Экземпляр сервера не создается

Может кто-нибудь, пожалуйста, помогите мне выяснить, где я ошибаюсь, иподскажите возможные способы исправления этой проблемыуе

1 Ответ

1 голос
/ 15 ноября 2011

Вы должны использовать переключатель командной строки /codebase с regasm, если ваша сборка не установлена ​​в GAC.

"... В записи Codebase указывается путь к файлу для сборки, которая не установлена ​​в глобальном кэше сборок ..."1007 *

...