.NET Core Web应用插件引用TIBCO.Rendezvous.dll加载错误求助
解决.NET Core Web应用加载TIBCO.Rendezvous.netmodule的错误
错误原因
该错误源于.NET Core的程序集加载机制不支持多模块程序集(.netmodule是多模块程序集的组成部分),尤其在单文件发布场景下,仅允许加载单文件程序集。
解决方案
禁用单文件发布
如果你的Web应用启用了单文件发布模式,直接关闭该选项即可:- 打开项目文件(
.csproj),将<PublishSingleFile>true</PublishSingleFile>修改为<PublishSingleFile>false</PublishSingleFile>; - 或者在发布向导中取消勾选“单文件”选项。
- 打开项目文件(
合并.netmodule为单文件程序集
使用ilmerge工具将TIBCO.Rendezvous.dll和对应的.netmodule合并成一个独立的DLL:
执行命令:ilmerge /out:Merged.TIBCO.Rendezvous.dll TIBCO.Rendezvous.dll TIBCO.Rendezvous.netmodule合并完成后,将项目中原有的TIBCO.Rendezvous.dll引用替换为合并后的Merged.TIBCO.Rendezvous.dll。
切换到.NET Framework(若业务允许)
.NET Framework原生支持多模块程序集,若你的Web应用可以兼容.NET Framework环境:- 修改项目目标框架为.NET Framework 4.x系列版本;
- 重新引用TIBCO.Rendezvous.dll,即可正常加载.netmodule。
升级到TIBCO的.NET Core兼容版本
检查TIBCO官方是否提供了针对.NET Core的Rendezvous版本,旧版本的TIBCO组件通常仅支持.NET Framework,替换为兼容.NET Core的版本后可解决该加载错误。
内容的提问来源于stack exchange,提问作者R. Y. Fu
相关产品推荐
相关产品推荐

