C# COM DLL: do I use Regasm, or Regsvr32?

孤者浪人 提交于 2019-11-26 19:19:54

问题


I am building a C# ActiveX DLL... do I use REGASM or REGSVR32 to register it?

How do I register the 64-bit interface vs the 32-bit interface?


回答1:


You need to use regasm.exe to register both the 32 bit and 64 bit interfaces I believe you need to run each of the regasm.exe's in:

C:\Windows\Microsoft.NET\Framework\v2.0.50727

and

C:\Windows\Microsoft.NET\Framework64\v2.0.50727

So... in your case you need to run the regasm.exe in the Framework64\v2.0.50727 folder.

Here's an example we use to register a COM interop DLL for one of our legacy ASP apps:

regasm.exe Hosting.DeviceManager.Power.dll /register /codebase /tlb



回答2:


If the DLL is build in format of "Any CPU", no matter if you choose regasm in

C:\Windows\Microsoft.NET\Framework\v2.0.50727

or

C:\Windows\Microsoft.NET\Framework64\v2.0.50727

DLL would be registered as 32-bit.



来源:https://stackoverflow.com/questions/372140/c-sharp-com-dll-do-i-use-regasm-or-regsvr32

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!