后台启动rhino时提示rhinocommon.dll无法加载的问题记录

本文介绍了在程序中加载rhinocommon.dll时遇到的问题及其解决方案。问题包括:1) 需要在STA线程中启动Rhino环境以避免加载错误;2) 自制RhinoAPI DLL加载失败可能由于目标平台设置不正确,需调整为x64;3) 模块加载失败可能因缺少完整Rhino运行环境,需确保正确引用dll路径。通过分析和实践,成功解决了这些问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、rhinocommon.dll不能加载的一个原因是,程序没有启动rhino环境,并且使用了那些必须在rhino环境中才能使用的类,比如curve,就会报这个错

最后解决了----》通过开一个STA线程来启动rhino。

通过UI项目可以正确加载作为出发点,我首先尝试在测试项目中写一个wpf的window,仿照UI项目,在window初始化事件上挂载上RhinoCore的初始化以及Rhino程序的启动,启动这个window时需要STA线程,单独开一个STA线程用来启动这个窗口,完美初始化完成。

然后我就突然想到是不是STA线程的原因,遂把window取消,直接开一个STA线程来启动,也成功启动了,结束。

2、不能加载自制的RhinoAPI那个dll的原因,大概率是目标平台没有调整到x64

3、无法加载 DLL“rhcommon_c”: 找不到指定的模块

没有启动rhinocore,被判定成了非rhino环境,以致于无法使用有商业版权的库

4、无法加载 DLL“RhinoLibrary”: 找不到指定的模块

应该是代码不仅需要rhinocommon.dll,而是需要整个rhino的运行环境,此时引用的rhinocommon的dll路径有问题,应该使用rhinoinside去搜索到本机安装的rhino目录下的dll

使用下面语句查询当前加载的dll是什么

AppDomain.CurrentDomain.GetAssemblies();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值