在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
A.DLL 引用了6.0 的 newtonsoft.json (V2 运行时), B.DLL 引用了10.0 的 newtonsoft.json (V4 运行时)。
方案1:让A、B在运行时,用同一个版本的Newtonsoft.Json.dll。 可以在.CONFIG RUNTIME 中加配置 oldVersion="0.0.0.0-12.0.0.0" newVersion="6.0.0.0" ; 配置项目是大小写敏感的。 配置的作用是让各DLL在运行过程中使用 newVersion="X.0.0.0" (程序根目录) 版本的JSON.DLL ,而不报“未能加载程序集 newtonsoft.json,Version=Y.0.0.0” 的错误。
<?xml version="1.0"?> <configuration> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30AD4FE6B2A6AEED" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>
方案2:这个告诉程序6.0版本的JSON dll在JSON6文件夹里 多个版本可配置多个路径。 <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" /> <codeBase version="6.0.0.0" href="Json6\Newtonsoft.Json.dll" /> </dependentAssembly> 这个配置项,诉程序6.0版本的JSON dll在JSON6文件夹里。 -- |
请发表评论