编译C# WinForm数据库项目时遇CS1705版本冲突错误,求解决
解决CS1705程序集版本冲突问题
错误本质
你碰到的CS1705错误是程序集依赖版本不匹配:你引用的MySql.Data(8.0.32.0版本)需要System.Runtime 7.0.0.0版本,但当前项目里引用的System.Runtime是4.1.2.0版本,版本低于依赖要求,导致编译时出现冲突。
修复方案
升级项目目标框架:
右键项目 → 属性 → 应用程序 → 目标框架,选择.NET 7.0或更高版本(MySql.Data8.0.32适配.NET 7及以上框架)。如果项目无法升级框架,参考下面的方案。添加程序集重定向:
若不能升级框架,在项目的App.config中加入重定向配置,让运行时把对高版本System.Runtime的请求导向项目已有的版本:<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="4.1.2.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>调整NuGet包版本:
打开NuGet包管理器,卸载当前的MySql.Data,安装适配你项目当前.NET框架的版本(比如.NET Framework 4.x可选择8.0.28或更早的稳定版)。同时检查并更新System.Runtime相关的兼容包。清理重建项目:
完成上述操作后,执行菜单→项目→清理,再重建解决方案,确保所有引用加载正确。
内容的提问来源于stack exchange,提问作者Fred calascibetta
相关产品推荐
相关产品推荐

