我想以同步的方式从vbscript执行.NET dll文件 – 这可能吗?如果是,是否可以执行GAC程序集?
谢谢,
奥弗
我认为你必须首先通过在AssemblyInfo.cs文件中包含ComVisible属性使.NET程序集COM可见:
原文链接:https://www.f2er.com/windows/372041.html[ComVisible(true)]
请参阅MSDN上的此页面:Packaging an Assembly for COM
然后在VBScript中,您可以通过访问COM组件的相同方式访问这些组件,即使用CreateObject或Server.CreateObject,如下所示:
Set testObj = CreateObject("MyNamespace.MyType")
我认为GAC甚至可能必须从VBScript访问它,但我没有这样做,所以我不确定.
你为什么要在VBScript中做到这一点?为什么不只是创建一个.NET控制台应用程序来执行您的VBScript要做的事情?由于DLL已经在.NET上,这应该不是问题,对吧?
编辑:另一种方法可能是创建一个控制台EXE而不是一个DLL(或一个包装DLL的EXE),您可以像普通的可执行程序一样从VBScript调用并检查返回结果.根据许多因素,这可能比维护COM代码更灵活.