VB.Net创建数据源时加载Microsoft.Data.SqlClient 3.0.0.0失败,装5.0.0.0仍报错
解决“无法加载文件或程序集'Microsoft.Data.SqlClient, Version=3.0.0.0'”错误
以下是几个可行的排查和解决步骤:
添加程序集绑定重定向
即使安装了5.0.0.0版本,.NET运行时可能仍在尝试加载旧版本。在项目的app.config(桌面应用)或web.config(Web应用)中添加绑定重定向配置,强制将3.0.0.0版本的请求指向5.0.0.0:<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Microsoft.Data.SqlClient" publicKeyToken="23ec7fc2d6eaa4a5" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>清理NuGet缓存并重装包
NuGet缓存可能残留旧版本信息,执行以下操作:- 打开命令行,运行
dotnet nuget locals all --clear清理所有NuGet缓存 - 在Visual Studio的NuGet包管理器中,卸载
Microsoft.Data.SqlClient - 重新安装5.0.0.0版本的包
- 打开命令行,运行
检查间接依赖的旧版本引用
项目可能依赖了其他引用3.0.0.0版本SqlClient的NuGet包:- 在NuGet包管理器的“已安装”标签下,查看每个包的依赖项,确认是否有包依赖旧版本
- 或者运行
dotnet list package --include-transitive命令,查看所有间接依赖,找到引用3.0.0.0的包并尝试更新到兼容版本
重置Visual Studio数据源配置缓存
数据源配置向导可能缓存了旧版本信息:- 关闭Visual Studio
- 删除项目根目录下的
.vs隐藏文件夹(注意备份重要配置) - 重新打开项目,再次尝试配置数据源
确认项目目标框架兼容性
确保项目目标框架与5.0.0.0版本的Microsoft.Data.SqlClient兼容:- .NET Framework需4.6.1及以上
- .NET Core/.NET 5+需3.1及以上
若目标框架过低,尝试升级框架或安装适配的SqlClient版本
内容的提问来源于stack exchange,提问作者Gary Wheeler
相关产品推荐
相关产品推荐

