所以,客户有一个用C编写的COM对象,可以验证2007年编写的加密会话cookie。这目前在旧版本的.NET中使用以下方法正常工作。
var validate = Activator.CreateInstance(Type.GetTypeFromProgID("Company.Validate"));
新的实现将完全使用C#。我已经将验证逻辑提取到一个.NETCore类库中,我们在ASP.Net Core项目中引用这个类库。
我尝试了32位和64位版本,以及IIS设置。
我反编译了COM对象并引用它,它可以在本地工作,但在开发服务器上无法运行,我收到以下错误:
由于以下错误原因检索组件CLSID {EDC43BC6-5ECD-4501-AEB3-64A17180A13D}的COM类工厂失败:80040154类未注册(HRESULT:0x80040154(REGDB_E_CLASSNOTREG))。
COM在本地和开发服务器上均已注册。
Activator.CreateInstance
在任何环境下都不起作用。本地和开发服务器上注册的COM ID和ProgId是相同的。
问:我错过了什么,还是这不会起作用?有人遇到过类似的挑战并获得成功吗?我是否忽略了什么?