Arxivar插件调用RestSharp遇FileNotFoundException问题求助
解决Arxivar插件中RestSharp DLL加载失败的问题
确认Copy Local属性设置:从你的引用设置截图来看,首要检查RestSharp引用的
Copy Local是否设为True。如果该属性为False,项目构建时不会自动将RestSharp DLL复制到输出目录,手动打包容易出现路径或版本匹配问题。正确配置后,构建过程会自动将依赖DLL同步到插件输出目录,避免手动拷贝的误差。验证DLL版本与架构一致性:确保打包的RestSharp DLL和插件编译时引用的版本完全一致,同时要与Arxivar的运行架构(x86/x64)匹配。若Arxivar是32位进程,而你使用的是64位版本的RestSharp,必然会出现加载失败。
检查部署路径是否合规:Arxivar加载插件时,通常会从插件的部署目录或指定的插件文件夹加载依赖。需确认RestSharp DLL和你的插件DLL放在同一目录下,或者处于Arxivar能识别的依赖搜索路径中。部分插件宿主有特定的依赖加载规则,比如仅从宿主目录或插件子目录加载,手动拷贝时需对应正确路径。
添加绑定重定向解决版本冲突:若项目存在版本冲突,需在插件配置文件(或Arxivar主配置文件)中添加绑定重定向。比如当Arxivar本身引用了其他版本的RestSharp时,会引发加载冲突,可在
app.config或web.config中添加如下配置:
<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="RestSharp" publicKeyToken="598062e77f915f75" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-108.0.0.0" newVersion="108.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>
注意替换配置中的版本号和公钥令牌为你实际使用的RestSharp版本信息。
- 适配Arxivar插件加载机制:部分文档管理系统的插件宿主会采用影子复制(Shadow Copy)机制,此时依赖DLL需放在影子复制可访问的路径,或在插件注册时明确指定依赖路径。建议查阅Arxivar官方插件开发文档,确认依赖部署的具体要求。
内容的提问来源于stack exchange,提问作者Marduk
相关产品推荐
相关产品推荐

