在.Net Core 2.0中通过dll引用COM对象

时间:2018-01-09 13:07:55

标签: dll com .net-core activex

我正在尝试将旧的asmx webservice升级到Web API。 Idealy我想使用.Net Core,因为这是我们一直在开发的。问题是API必须使用COM对象与遗留系统进行通信。

我已经复制了dll(已经不是理想的了,我知道),并且.Net Core API项目能够将它作为参考添加并且代码全部编译。但是,在运行代码时,从dll实例化对象时会出现以下错误:

Retrieving the COM class factory for component with CLSID 
{CCA0B90B-DFDE-4DD3-9C7B-9769A3F12201} failed due to the following error: 
80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). 

我尝试使用完整的.Net框架做同样的事情,一切都按预期工作,所以我想这是Core的一个问题 - 可能是可移植性要求。

此时无法重写与遗留系统的集成,我只是想知道在没有使用完整的.Net框架的情况下是否有任何方法。

更新

我不知道这是否会有所帮助,但我可以创建一个运行代码的.Net Framework控制台应用程序。当我从我的.Net Core API引用项目并调用完全相同的代码时,上面的错误仍然会发生。

0 个答案:

没有答案