Я хотел бы выполнить файл .NET dll из vbscript синхронно - возможно ли это? если да, можно ли выполнить сборку GAC?Возможно ли выполнить сборку .NET (dll) из vbscript?
спасибо, Офер
Я хотел бы выполнить файл .NET dll из vbscript синхронно - возможно ли это? если да, можно ли выполнить сборку GAC?Возможно ли выполнить сборку .NET (dll) из vbscript?
спасибо, Офер
Я думаю, вы должны сначала сделать сборку .NET COM-видимый включая ComVisible атрибут в файле AssemblyInfo.cs:
[ComVisible(true)]
Смотрите эту страницу на MSDN: Packaging an Assembly for COM
, а затем в VBScript вы можете получить доступ к этим компонентам тем же способам получить доступ к COM-компоненты, то есть с помощью CreateObject или Server.CreateObject как в:
Set testObj = CreateObject("MyNamespace.MyType")
Я думаю, что G AC может быть даже обязательным для доступа к нему из VBScript, но я не сделал этого так, поэтому я не уверен.
Почему вы хотите сделать это в VBScript? Почему бы просто не создать консольное приложение .NET, которое бы делало то, что должен был делать ваш VBScript? Поскольку DLL уже на .NET, это не должно быть проблемой, не так ли?
EDIT: Еще один способ сделать это может быть, чтобы создать консольную EXE вместо DLL (или EXE, которые оборачивают DLL), которые вы можете позвонить из VBScript, как обычная исполняемой программа и изучить вернуть результаты. В зависимости от многих факторов это может быть более гибким, чем поддержание COM-кода.
VBScript может выполнять только код из объектов COM, так что вам нужно будет создать COM-обертка для вашего кода .NET, а затем вы должны быть в состоянии назвать свой код .net.
Не напрямую.
Если сборка .NET была представлена как COM-компонент, то это могло бы быть.
Как обычно, я вынужден к этому :-) Существует существующий проект, написанный в vbscript, который необходимо расширить. расширение не может быть выполнено с помощью vbscript. – ofer
@ofer duh ... Я знаю, как сохранить устаревший код на унаследованном языке. – chakrit