С# COM DLL: я использую Regasm или Regsvr32?

Я создаю C# ActiveX DLL... использовать REGASM или REGSVR32 для ее регистрации?

Как зарегистрировать 64-битный интерфейс по сравнению с 32-битным интерфейсом?


person Jason    schedule 16.12.2008    source источник


Ответы (2)


Для регистрации необходимо использовать regasm.exe. как 32-битные, так и 64-битные интерфейсы, я считаю, вам нужно запустить каждый из regasm.exe в:

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

и

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

Итак... в вашем случае вам нужно запустить regasm.exe в папке Framework64\v2.0.50727.

Вот пример, который мы используем для регистрации библиотеки COM-взаимодействия для одного из наших устаревших приложений ASP:

regasm.exe Hosting.DeviceManager.Power.dll /register /codebase /tlb
person Kev    schedule 16.12.2008

Если DLL построена в формате «Любой процессор», независимо от того, выберете ли вы regasm в

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

or

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

DLL будет зарегистрирована как 32-битная.

person eason    schedule 19.10.2011
comment
Из того, что я читал в другом месте, я подумал, что Framework64\...\regasm зарегистрирует 64-битную версию. - person Sideshow Bob; 12.04.2013