我想在我的 c# 项目中使用第三方 COM dll。我在 Visual Studio 中添加了“参考”并获得了对 COM 类型的访问权限。一切正常。
问题:如果最终用户将工作的目标机器没有安装 COM dll 怎么办?我的应用程序根本无法运行,或者我可以以某种方式安全地处理这种情况?
它的工作方式与在缺少 .NET 程序集的情况下运行程序时的工作方式相同,当您尝试创建对象的实例时会出现异常。底层 COMException 是针对错误代码 0x80040154,“类未注册”。
顺便说一句,这很容易测试,只需使用 Regsvr32.exe,/u 选项取消注册 COM 服务器。编写过多的代码来处理丢失的 DLL 通常没有那么有用,因为修复真正的问题是多么容易。
The binaries to your program should contain all the necessary libraries that you are using. It's all in the bin folder. If you give the computer everything that's in there your program will work fine.