回答
通過指定/codebase
參數,您可以註冊該.NET dll與regasm utility。不鼓勵該參數與未簽名的程序集一起使用,但當您不能將程序集放入GAC時,該參數可用。
regasm your.dll /codebase
請注意,在此操作之後,您不應該更改.dll的路徑,因爲它會將此路徑插入到Windows註冊表中。
不是直接。你需要一個COM Callable Wrapper來從COM調用任何.NET庫(因此VBScript)。因此,您應該直接創建一個CCW到DLL,或者您可以爲代理DLL創建一個CCW,它提供加載.NET DLL的通用方法,併爲您提供調用組件上的實際方法並返回結果的方法。它真的不乾淨。所以,一般來說,答案是否定的。
huseyint的答案是關於錢,但是,我想補充一點。下面是我用這個非常問題的一些示例代碼,或許它可以沿着加速你...
// bind a variabe to WScript.Shell
Set WshShell = CreateObject("WScript.Shell")
// define the path to the regasm.exe file
RegAsmPath = "c:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe"
// register the dll
WshShell.run "cmd /c " & RegAsmPath & " c:\temp\cbsecurity.dll /codebase /nologo /s", 0, True
// bind a variable to the dll
Set cbUtil = CreateObject("CBSecurity.Utilities")
我已經包含在DLL中的IsAlive方法...
Public Function IsAlive() As Boolean
Return True
End Function
...並且可以檢查其註冊的使用語法正確:
//check if dll is available to your code
msgbox "cbUtil is alive: " & cbUtil.IsAlive
希望這可以幫助別人......
我只是有這個做我自己,我的研究結果是:
使類型對COM可見:
- 確保你的類是公共的,非靜態的和具有公共默認構造函數即沒有參數。
- 確保您的方法是公開的,非靜態的。
確保您在裝配體上有以下設置 - 通常在AssemblyInfo中。CS
[assembly: ComVisible(true)]
建立你的DLL,從SDK命令行運行後:
regasm yourdll.dll
這應該回應:成功註冊
類型
如果你得到
RegAsm:警告RA0000:無類型登記
,那麼你需要設置
ComVisible
或不公開的,非靜態類型。
從PowerShell中
$a = New-Object -comobject Your.Utils.Logging
$a.WriteError2("Application", "hello",1,1)
從VBS
Set logger = CreateObject("Your.Utils.Logging")
logger.WriteError2 "Application", "hello from vbs",1,1
萬一有人需要調試/步到.NET的DLL這是一個從只有VBScript中稱爲:
在.net dll項目調試設置屏幕上,通過瀏覽到wscript.exe程序(位於C:\ WINDOWS \ system32 \ wscript.exe)中設置「啓動外部程序」。
在「命令行參數」上,設置VBScript文件(C:\ Test \ myTest.vbs)的文件名和路徑位置。確保vbs文件和dll文件位於相同的位置。
最後,在.NET項目DLL源代碼,只需設置斷點並點擊「開始調試」
- 1. Wix和自定義.net dll
- 2. 在.net 4.0 dll中訪問.net2.0 dll
- 3. 訪問駐留在插件中的自定義對象dll
- 4. .Net替換爲VBScript(interop.msscriptcontrol.dll)DLL
- 5. 從VB .NET訪問DLL
- 6. 的InstallShield - 在C#WIX DTF自定義動作的dll訪問CustomActionData
- 7. 限制在.NET中訪問DLL
- 8. 如何在java中訪問.Net DLL // jsp
- 9. .net 2.0通過程序集綁定訪問.net 4.0 dll
- 10. 自定義控件從.Net環境訪問H2數據庫(JDBC)
- 11. 通過VBScript自定義Excel
- 12. 將.Net ActiveX控件(DLL)中的自定義類傳遞給Javascript
- 13. 訪問ResourceDictionary中的自定義類
- 14. 與自定義DLL
- 15. 我可以從PowerShell訪問我的自定義.NET類嗎?
- 16. 訪問自定義屬性
- 17. 訪問自定義屬性
- 18. 訪問自定義屬性
- 19. 訪問自定義類
- 20. 訪問自定義會話
- 21. 訪問自定義主鍵
- 22. 自定義HeaderFooterView壞訪問
- 23. 訪問自定義視圖
- 24. 訪問自定義控制
- 25. 訪問自定義幫助
- 26. 訪問自定義組
- 27. 訪問從VBScript
- 28. 如何在腳本任務中引用自定義.NET 4.0 DLL?
- 29. .net DLL對象從javascript訪問
- 30. 無法訪問自定義的UILabel在自定義的UITableViewCell
你怎麼註銷,一旦你做到了嗎? – 2008-12-05 21:47:31
regasm your.dll/unregister – huseyint 2008-12-05 22:16:54