在特定时间段内是否可以注册和注销DLL的最大次数?
这就是我的意思和原因:我有一个持续集成包来构建我的VB6应用程序,并且为了构建解决方案的80个组件中的每一个,我:
现在,如果我手动构建80个项目中的每个项目,这一切都在100%的时间内起作用;但是,如果我让我的NAnt脚本依次构建所有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的日志记录工具。有什么想法或建议吗?
答案 0 :(得分:1)
没有没有最大值。使用Dumpbin.exe或Depends.exe查看该DLL内部并检查是否实际定义了DllUnRegisterServer入口点。
答案 1 :(得分:0)
我认为对DLL寄存器/取消注册没有任何限制。