我正在尝试将旧的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引用项目并调用完全相同的代码时,上面的错误仍然会发生。