【发布时间】:2017-10-31 19:31:16
【问题描述】:
我正在尝试部署引用 COM DLL 的 c# 应用程序。我知道 Azure Cloud VMS 是 x64,所以我引用的 COM 库也是 x64。 我添加了 .cmd 文件并将其链接到 ServiceDefinition。看起来它已执行,因为如果我删除 .cmd 文件,我会收到丢失它的错误。 我不确定一件事:我应该注册哪个库?我的意思是我有一个 someCOM.dll。我在我的 c# 项目中引用了它,并且在我的引用列表中得到了 someCOMLib.dll。但我的项目不包含任何 someCOMLib.dll。它包含 Interop.someCOMLib.dll 所以我尝试注册原始的 someCOM.dll 但我收到错误
Retrieving the COM class factory for component with CLSID {D1F73A20-01A1-431B-A135-2D2A89A3D2B3} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
如果我做的一切都是正确的,我可能会错过任何其他事情吗?
【问题讨论】:
-
据我了解,someCOM.dll 是一个.NET 程序集,Interop.someCOMLib.dll 也是一个.NET 程序集(它是在您构建项目时引用 someCOMLib.dll 时自动生成的),因此 comCOMLib.dll 可能是您尝试使用的 COM dll。这是缺少的部分,您必须找到它并注册它。
-
@SimonMourier 我不擅长解释事情,但我会发布问题所在。无论如何,您对 find 的建议真的很有帮助,谢谢
标签: c# azure dll com azure-cloud-services