2009-04-20 143 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並通過。