Как вызвать функцию DLL С# из VBScript

У меня есть мой script на сервере, поэтому я не имею возможности взаимодействия с пользовательским интерфейсом и должен использовать DLL вместо консольного приложения.

Как вызвать функцию в С# DLL из VBScript?

Как сделать мою DLL равной COMVisible? Должен ли я его зарегистрировать?

Ответ 1

Вам нужно отметить свою сборку как COM видимую, установив COMVisibleAttribute в true (либо на уровне сборки, либо на уровне класса, если вы хотите выставить только один тип).

Затем вы зарегистрируете его с помощью:

regasm /codebase MyAssembly.dll

и, наконец, назовите его из VBScript:

dim myObj
Set myObj = CreateObject("MyNamespace.MyObject")

Ответ 2

Да, вам нужно установить атрибут ComVisible равным true, а затем зарегистрировать сборку с помощью regasm или regsvcs вместе с tlbexp. Затем вы можете использовать Server.CreateObject и проплыть.