Visual Basic .Net中RedemptionLoader无法正常使用的技术求助
解决RedemptionLoader在VB.NET(VS2019)未注册版本的运行问题
关键修复步骤
- 删掉Interop.Redemption引用:你当前的冲突根源是同时使用了COM引用和RedemptionLoader——RedemptionLoader的设计初衷就是替代直接注册COM组件的方式,完全不需要保留Interop.Redemption的项目引用。直接在VS的项目引用列表里找到它右键删除即可。
- 核对RedemptionLoader.vb的命名空间:打开你添加的RedemptionLoader.vb文件,确认顶部是
Namespace Redemption,这样才能正确调用RedemptionLoader.new_RDOSession()方法。 - 调整变量声明写法:因为不再依赖COM引用,不能直接声明
Redemption.session,可以用以下两种写法:- 后期绑定(简单直接):
Dim RDOSession As Object RDOSession = RedemptionLoader.new_RDOSession()- 接口强类型声明(可获得智能提示):
Dim RDOSession As Redemption.IRDOSession RDOSession = CType(RedemptionLoader.new_RDOSession(), Redemption.IRDOSession) - 设置DLL的复制属性:把Redemption.dll和Redemption64.dll添加到项目后,右键这两个文件→属性→将“复制到输出目录”改为始终复制,确保编译后文件能同步到输出文件夹中。
- 确认DLL未注册状态:用命令行执行
regsvr32 /u Redemption.dll和regsvr32 /u Redemption64.dll(64位系统处理32位DLL需使用SysWOW64文件夹下的regsvr32),确保组件未在系统中注册。
额外提醒
- 若项目平台目标为AnyCPU,RedemptionLoader会自动匹配加载对应位数的DLL;若固定为32/64位,需对应放置正确位数的DLL文件。
- 运行程序时确保权限充足,避免系统拦截DLL加载。
内容的提问来源于stack exchange,提问作者adi63
相关产品推荐
相关产品推荐

