2013-03-25 90 views
0

我們有一個VB組件通過COM +服務使用.NET 3.5組件。我們正在按照以下步驟註冊DLL和如何克服錯誤#2146233079:自動化錯誤?

  1. 執行Regasm.exe/tlb和Regasm.exe/tlb/codebase爲主dll及其相關的dll。
  2. 已註冊的VB組件dll在COM +中使用.NET dll。
  3. 使用步驟1
  4. IISRESET

我們有3個服務器具有相同的設置註冊SEAC的DOTNET的DLL。這些是開發服務器,測試服務器,舞臺服務器。它在dev和Test服務器上工作正常,它在舞臺服務器中給出以下例外。

Error#2146233079: Automation error 

爲了解決這個問題,我們做了以下事情。但沒有運氣。

  1. 所取的所有點網和vb的dll從dev的服務器應用程序,我們部署在同過程中的階段服務器,我們下面來部署在開發中任何其他DLL,但是我們都面臨着同樣的問題。
  2. 採取測試服務器重複相同的過程。但仍然面臨同樣的問題
  3. 檢查註冊表以確認.net framework 2.0,3.5的可用性(我們唯一能想到的就是框架是否安裝正確)。好像是他們被正確安裝
  4. 重新啓動階段服務器一度讓所有舊的註冊表項被消滅了,然後我們剛註冊的dlls.Still沒有運氣
  5. 做一個.net 3.5 exe文件,並在217運行服務器來檢查.net 3.5是否正確安裝。它似乎是完美安裝。

請幫忙解決這個問題。

+0

是否存在堆棧跟蹤? – 2013-03-25 15:28:08

+0

@LynnCrumbling:不幸的是:( – Babu 2013-03-25 15:48:48

+0

事件日誌中的任何東西?還有,COM +服務是否在測試和分級中作爲相同的模擬用戶運行? – 2013-03-25 16:32:44

回答

0

我已經破解了這個問題。

根本原因和解決方法:
其中一個.NET的DLL的是這臺機器錯過。通常開發和測試我們已經安裝了.NET框架和Visual Studio。然而,在舞臺和製作中,我們只安裝了.NET框架,而不是整個Visualstudio套件。我們懷疑這是原因。我們在舞臺和生產機器的GAC中註冊了該組件,問題得到解決。

我怎麼破解
(1)我們在這裏的VB組件創建.NET組件的實例,並調用VB .NET組件功能在界面上採取什麼行動的問題發生,並放置日誌,並承認其功能鑑定它給錯誤

(2)在該函數中,我們放置了try catch,並在一些外部文件中記錄了異常消息。

(3)通過例外消息,我們發現特定的dll已被錯過