2009-04-20 112 views
10

我在服务器上有我的脚本,所以我没有可用的UI交互并且必须使用DLL而不是控制台应用程序。如何从VBScript调用C#DLL函数

如何从VBScript调用C#DLL中的函数?

如何让我的DLL成为COMVisible?我必须注册吗?

+0

它有帮助吗? http://stackoverflow.com/questions/9004352/call-a-function-in-a-console-app-from-vbscript – xameeramir 2015-04-16 12:32:23

回答

21

您需要将COMVisibleAttribute设置为true(如果只想显示单一类型,则在汇编级别或类级别)将您的程序集标记为COM。

regasm /codebase MyAssembly.dll 

最后从VBScript中调用它:

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

另请参见[公开.NET组件到COM](http://www.codeproject.com)/Articles/3511/Exposing-NET-Components-to-COM?fid = 14076&df = 90&mpp = 25&noise = 3&prof = False&sort = Position&view = Quick&spc = Relaxed&fr = 26#csharp) – bluish 2012-10-22 13:46:54

2

是的,你将需要设置ComVisible属性为true,然后使用regasm注册程序集或

下一页您注册它regsvcs以及tlbexp。然后你可以使用Server.CreateObject并通过。