ASP.NET Core 2.0升级至2.1-preview2后遇CS1705版本冲突错误求助
解决ASP.NET Core 2.0升级到2.1-preview2后的CS1705版本冲突问题
这个版本不兼容的坑我之前踩过也帮不少开发者解决过,本质就是System.Data.SqlClient依赖的System.Runtime版本(4.2.1.0)比你项目当前引用的版本(4.2.0.0)高,导致了程序集版本冲突。给你几个靠谱的解决办法:
第一步:同步更新NuGet包版本
打开NuGet包管理器,先把System.Data.SqlClient更新到和.NET Core 2.1-preview2兼容的预览版本(比如4.5.1-preview2系列)。如果还是有问题,直接在Package Manager Console里执行Update-Package -reinstall命令,强制重新安装所有依赖包,让它们的版本统一适配2.1-preview2。第二步:手动指定运行时版本并添加绑定重定向
如果更新包没解决问题,就去项目的.csproj文件里,明确指定RuntimeFrameworkVersion,确保和2.1-preview2匹配:<PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <RuntimeFrameworkVersion>2.1.0-preview2-26406-04</RuntimeFrameworkVersion> </PropertyGroup>接着在项目的
web.config(或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-4.2.1.0" newVersion="4.2.1.0" /> </dependentAssembly> </assemblyBinding> </runtime> </configuration>第三步:检查依赖的第三方类库
要是上面两步都没用,就得排查你项目里引用的其他类库是不是还停留在适配.NET Core 2.0的版本——这些旧类库可能依赖低版本的System.Runtime,把它们也升级到兼容2.1-preview2的版本即可。
一般来说,先试第一步就能解决问题,要是还不行再往下走。
内容的提问来源于stack exchange,提问作者Felix
相关产品推荐
相关产品推荐

