簡體   English   中英

檢索COM類工廠失敗錯誤:80040154

[英]Retrieving COM class factory failed error: 80040154

感謝您的閱讀。

我正在開發一段代碼,該代碼可在商業輻射計划軟件(Eclipse)中執行並從中訪問數據。 我正在嘗試讓這個application.exe也更新SolidWorks模型中的一些模型參數。

問題出在這里:嘗試打開SolidWorks應用程序(SldWorks swApp = new SldWorks();)時出現錯誤:“由於以下錯誤,為具有CSLID {xxx-xxx-xxx}的組件檢索COM類工廠失敗: 80040154未注冊類(HRESULT的異常:0x80040154(REGDB_E_CLASSNOTREG))。”

我也嘗試過這里描述的方法:

https://www.codestack.net/solidworks-api/getting-started/stand-alone/
嘗試這些方法后,我再次收到相同的錯誤。

我知道這意味着應用程序正在嘗試訪問注冊表中不存在的內容,但是尚不清楚我應該采取什么措施來解決此問題。

我正在Windows 7中運行Solidworks 2018,使用Visual Studio Community 2017作為編輯器。 該段代碼是獨立運行的,我相信我的模型中已正確引用了所有相關的Solidworks .dll。 有趣的是,如果我在Visual Studio中運行與.dll相同的代碼,Solidworks實際上將打開。 使用“ SldWorks swApp = new SldWorks();”完成此操作。 方法(這是Solidworks API方法的一部分)

我的解決方案中沒有構建錯誤。 我對此感到抱歉,因為我是C#和這些API的新手。 我會盡力澄清任何問題。

我在這里嘗試了這些方法: C#:DLL已注冊,但是COM錯誤80040154仍然無濟於事。 任何幫助是極大的贊賞!
謝謝!

嘗試注冊swpublished dll

“ C:\\ Windows \\ Microsoft.NET \\ Framework \\ v4.0.30319 \\ RegAsm.exe”“ C:\\ Program Files \\ SOLIDWORKS Corp \\ SOLIDWORKS \\ api \\ redist \\ SolidWorks.Interop.swpublished.dll” / codebase

您還可以檢查32/64位注冊表是否與您的問題有關。 創建一個測試項目,該項目將調用新的SldWorks()並先以32位然后以64位運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM