在特定时间段内可以注册和取消注册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