以编程方式注册C#/ VB.NET COM DLL

Ste*_*ger 17 c# vb.net com dll com-interop

问题:我有一个.NET dll,我在C++程序中使用它.现在我必须在部署计算机上以编程方式注册dll.

我该怎么做(以编程方式!不使用regasm)?我记得,当我曾经用C++ dll调用VB6 dll时,我不得不使用DllRegisterServer和DllUnregisterServer.

使用.NET dll还是这样吗?
看来我必须以某种方式将dllregisterserver函数添加到.NET dll中.

Ste*_*ger 27

YUK,.NET dll没有DllRegisterServer,所以你必须编写.NET安装程序,在某处执行:

Assembly asm = Assembly.LoadFile (@"c:\temp\ImageConverter.dll");
RegistrationServices regAsm = new RegistrationServices();
bool bResult = regAsm.RegisterAssembly(asm, AssemblyRegistrationFlags.SetCodeBase);
Run Code Online (Sandbox Code Playgroud)

  • @Arnaud Bouchez:一个很大的区别:你可以试一试 - 抓住它,处理错误.与产生一个新过程一样,这也是可能的,但还有更多工作要做. (2认同)