解决间接引用库版本升级带来的烦恼(.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,如需转载请自行联系原作者

相关文章
|
4天前
|
C#
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
|
4天前
|
人工智能 自然语言处理 API
适用于 .NET 稳定的官方OpenAI库
适用于 .NET 稳定的官方OpenAI库
|
25天前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
22 1
|
4天前
|
开发框架 安全 .NET
.NET使用Moq开源模拟库简化单元测试
.NET使用Moq开源模拟库简化单元测试~
|
1月前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
|
1月前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
59 8
|
1月前
|
存储 开发框架 .NET
.NET 8 实现无实体库表 API 部署服务
【10月更文挑战第12天】在.NET 8中,可通过以下步骤实现无实体库表的API部署:首先安装.NET 8 SDK及开发工具,并选用轻量级Web API框架如ASP.NET Core;接着创建新项目并设计API,利用内存数据结构模拟数据存储;最后配置项目设置并进行测试与部署。此方法适用于小型项目或临时解决方案,但对于大规模应用仍需考虑持久化存储以确保数据可靠性与可扩展性。
|
28天前
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
|
3月前
|
Unix Linux C#
增强用户体验:2个功能强大的.NET控制台应用帮助库
增强用户体验:2个功能强大的.NET控制台应用帮助库
|
3月前
|
JSON API C#
闲话 .NET(6):.NET Core 各个版本的特性
闲话 .NET(6):.NET Core 各个版本的特性

热门文章

最新文章