我想以同步的方式从vbscript执行.NET dll文件 - 这可能吗?如果是,是否可以执行GAC程序集?

感谢, 奥弗

有帮助吗?

解决方案

我认为您必须首先通过在AssemblyInfo.cs文件中包含ComVisible属性来使.NET程序集可见:

[ComVisible(true)]

在MSDN上查看此页面:打包大会对于COM

然后在VBScript中,您可以通过访问COM组件的相同方式访问这些组件,即使用CreateObject或Server.CreateObject,如下所示:

Set testObj = CreateObject("MyNamespace.MyType")

我认为GAC甚至可能必须从VBScript访问它,但我没有这样做,所以我不确定。

为什么要在VBScript中执行此操作?为什么不只是创建一个.NET控制台应用程序来执行VBScript的目的?由于DLL已经在.NET上,这应该不是问题,对吗?


编辑:另一种方法可能是创建一个控制台EXE而不是一个DLL(或一个包装DLL的EXE),你可以像普通的可执行程序一样从VBScript调用它检查返回结果。根据许多因素,这可能比维护COM代码更灵活。

其他提示

VBScript只能从COM对象执行代码,因此您需要为.NET代码创建一个COM包装器,然后您应该能够调用.net代码。

不直接。

如果.NET程序集作为COM组件公开,那么它可能是。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top