我想以同步方式从vbscript执行.NET dll文件-这可能吗?如果是,是否可以执行GAC程序集?
谢谢,
奥弗
最佳答案
我认为您首先必须通过在AssemblyInfo.cs文件中包含ComVisible属性来使.NET程序集成为COM可见的:
[ComVisible(true)]
在MSDN上查看此页面:Packaging an Assembly for COM
然后在VBScript中,您可以通过与访问COM组件相同的方式访问这些组件,即使用CreateObject或Server.CreateObject,如下所示:
Set testObj = CreateObject("MyNamespace.MyType")
我认为GAC甚至可能是必须要从VBScript进行访问的,但是我还没有这样做,所以我不确定。
您为什么要在VBScript中这样做?为什么不仅仅制作一个可以执行您的VBScript意图的.NET控制台应用程序呢?由于DLL已经在.NET上,所以这应该不是问题,对吧?
编辑:另一种方法是创建控制台EXE而不是DLL(或包裹DLL的EXE),您可以像正常的可执行程序一样从VBScript调用它并检查返回结果。根据许多因素,这可能比维护COM代码更为灵活。
关于.net - 是否可以从vbscript执行.NET程序集(dll)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/600012/