解决间接引用库版本升级带来的烦恼(.NET)

简介:

某个项目中使用了一个工具集库Toolkit.dll,这个工具集库中封装的数据库访问部分引用了其它数据库组件,比如SQLite的访问组件库System.Data.SQLite。由于在Toolkit.dll生成的时候System.Data.SQLite的最新版本是1.0.82.0,而现在要使用的System.Data.SQLite是1.0.90.0,结果在换了System.Data.SQLite.dll之后,报告了一个错误:


wKiom1L3N7qBnkHkAAEdV2CpXSU634.jpg


之后在Google上查找解决办法,找到有两个解决办法,一个是通过代码载入DLL,另一个是在App.Config中添加一个重定向程序集版本(Redirecting Assembly Versions)的配置。用代码载入DLL太麻烦,还是改配置文件简单些,需要加入配置内容如下:


1
2
3
4
5
6
7
8
9
10
< configuration >
     < runtime >
         < assemblyBinding  xmlns = "urn:schemas-microsoft-com:asm.v1" >
             < dependentAssembly >
                 < assemblyIdentity  name = "System.Data.SQLite"  publicKeyToken = "db937bc2d44ff139"  />
                 < bindingRedirect  oldVersion = "1.0.82.0"  newVersion = "1.0.90.0"  />
             </ dependentAssembly >
         </ assemblyBinding >
     </ runtime >
</ configuration >


其中publicKeyToken是从报告的错误中抄的。另外,如果oldVersion不确定的情况下,也可以配置成一个范围,比如:


1
< bindingRedirect  oldVersion = "1.0.0.0-2.0.0.0"  newVersion = "1.0.90.0"  />


需要注意的是,在干这个事情之前最好确认新版本的引用库不会造成新的问题,否则还是引用旧库比较稳当。


本文转自边城__ 51CTO博客,原文链接:http://blog.51cto.com/jamesfancy/1358594,如需转载请自行联系原作者

相关文章
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
152 3
|
2月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
540 2
|
2月前
|
开发框架 安全 .NET
Microsoft .NET Framework 3.5、4.5.2、4.8.1,适用于 Windows 版本的 .NET,Microsoft C Runtime等下载
.NET Framework是Windows平台的开发框架,包含CLR和FCL,支持多种语言开发桌面、Web应用。常用版本有3.5、4.5.2、4.8.1,系统可同时安装多个版本,确保软件兼容运行。
583 0
Microsoft .NET Framework 3.5、4.5.2、4.8.1,适用于 Windows 版本的 .NET,Microsoft C Runtime等下载
|
7月前
|
缓存 开发框架 .NET
一个功能丰富的 .NET 工具库 XiHan.Framework.Utils
XiHan.Framework.Utils 是一个功能全面的 .NET 工具库,包含字符串处理、集合扩展、加密解密、分布式 ID、文件操作、缓存、线程、国际化等模块。设计上注重高内聚、低耦合,适用于各类 .NET 应用开发。支持 AES 加密、树形结构转换、分页过滤、日志输出等功能,提供简单易用的 API。可通过 NuGet 快速安装,源码开放,采用 MIT 协议。
260 56
|
7月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
341 26
|
人工智能 自然语言处理 API
适用于 .NET 稳定的官方OpenAI库
适用于 .NET 稳定的官方OpenAI库
304 0
|
12月前
|
数据挖掘 BI
.net8 Syncfusion生成pdf/doc/xls/ppt最新版本
通过使用 Syncfusion,您可以高效地生成各种文档,满足不同的业务需求。这些工具不仅易于使用,还具有高性能和高度可扩展性,是处理文档的理想选择。
410 16
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
163 4
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
288 1

热门文章

最新文章