在特定時間段內可以註冊和取消註冊DLL的最大次數是多少?一個DLL可以註冊/註銷的最大次數?
這裏就是我的意思是,爲什麼:我有一個持續集成包,建立我的VB6應用程序,爲了構建每個解決方案的80個組件,I:
- 檢索每個項目的依賴 在轉
- 註冊DLL(使用< comregister註銷的惡性 = 「假」 ......>)
- 建設項目
- 發佈輸出.dll文件或.exe 安全的地方
- 註銷(使用 < comregister註銷= 「真」 ...... 在惡性...>)的dll
現在,這一切工作時間的100%,如果我手動構建了80個項目中的每一個;但是,如果我讓我的惡性腳本來構建又將所有的80個項目(以正確的順序),那麼構建失敗,讓我在CruiseControls'輸出這個錯誤...
[comregister] Unregistering 1 files
[comregister] c:\location\myBuild.include(301,4): Error while unregistering 'c:\\[project-location]\lib\myDependentDLLFile.dll' Unable to find an entry point named '**DllUnregisterServer**' in DLL 'c:\\[project-location]\lib\myDependentDLLFile.dll'.
(我不知道其中「DllUnregisterServer的」來源於儘管!)
同樣的錯誤,那麼出現,我過去建故障點,這大約是50項目,建成區面積每後續項目。我的意思是,前50個項目的建設情況良好,其餘的則反過來失敗。
我已經通過在NAnt內的comregister調用中使用failonerror =「false」屬性來減輕這一點,但是這會讓我懷疑這是否正常或不... ...!
理想情況下,我想刪除failonerror屬性和報告真正的錯誤,回到CruiseControl的日誌工具。任何想法或建議?
我不知道是否找不到DllUnregisterServer只是一個猜測,實際的錯誤是別的...?你能否讓Nant以某種方式顯示Win32錯誤?也許你可以修改comregister任務來發出更多的信息...... DllUnregisterServer是所有DLL COM服務器必須導出的函數,以及哪個註冊代碼只是盲目地調用註銷服務器的對象。 – 2009-08-20 07:36:25