我试图在测试计算机上注册一个基于地理信息系统的动态链接库,并且在测试计算机上加载带有ArcGIS 9.3.1 - ArcMap的tlb文件时遇到了问题。当我试图加载tlb文件时,它写为“New添加”。我使用Visual 2010创建了dll文件。tlb文件在我的开发人员计算机上加载良好。我正在使用cmd.exe命令在测试计算机上注册dll/tlb (见下文)。
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe C:\Temp\My.dll /tlb:My.tlb/codebase注册回复为成功,项目列在MX命令类别下的组件类别中。下面是我在类中使用的COM部分代码。
#Region "COM GUIDs"
Public Const ClassId As String = "1bf94bdf-907c-4026-816f-50feb7a2a976"
Public Const InterfaceId As String = "7ba8a4d5-d15c-4d95-a819-a3e7cbe84533"
Public Const EventsId As String = "2ab51582-47e1-490c-899d-a80992c20fdf"
#End Region开发者计算机的操作系统是:
Microsoft Windows XP 32位,版本5.1 - Service Pack 3
和
测试计算机的操作系统是:
Microsoft Windows XP 64位,版本5.2 - Service Pack 2
我是否需要在开发人员计算机上进行Windows更新(到5.2),还是我的dll/tlb注册方法有问题?
谢谢你的帮忙!
更新:
测试计算机上的ArcGIS软件安装在C:\Program (x86)位置下。
发布于 2011-05-16 14:06:55
我认为您需要在目标PC上使用64位版本的RegASM注册它。你应该在下列文件中找到它:
C:\Windows\Microsoft.NET\Framework64\v2.0.50727
^^请注意,我假设您已经将代码编译为MSIL (通过选择AnyCPU作为平台)。如果已将其编译为目标32-bit,则需要对其进行更改。
这是因为64位进程无法找到32位版本的RegAsm执行的注册,反之亦然。
https://stackoverflow.com/questions/6018598
复制相似问题