2011-08-11 48 views
2

我創造了從C#Visual Studio中的DLL和TBL文件2008使用類型庫(.tlb)在VB6項目的ActiveX創建對象失敗

Regasm AssemblyName.dll /tlb: FileName.tlb /codebase把它註冊到我的本地服務器。

使用tlb參考。編譯它,它在我的開發PC上運行良好。

我做了一個exe後,在其他電腦上運行它,會提示錯誤信息「ActiveX無法創建對象」。

我需要爲我部署的每臺機器註冊Regasm嗎?

如果部署PC中沒有Visual Studio,該怎麼辦?沒有Regasm可以被找到。

回答

1

是的,您需要將其作爲安裝的一部分。但這只是其中的一部分。您還必須使用屬性標記所有公共方法,以確保重新編譯不會以錯誤的順序意外編譯這些方法。請參閱this

0

是的,我認爲你需要這樣做,作爲你的安裝的一部分。

0

是的,您需要在每臺客戶機上運行RegAsm。如果您的組件發生變化,您需要運行RegAsm ... /unregister,用新組件更換組件,然後再次運行RegAsm

爲了使您的C#DLL工作,你將需要安裝在機器上,以及(在你的案件的.NET Framework 3.5)相關框架

我會考慮使用一個安裝程序,因爲這可以做一些繁重的註冊/取消註冊工作,並在需要時自動安裝框架。

相關問題