LinqPad 7引用.NET 7程序集出现CS1705版本冲突问题求助
问题解答
LinqPad 7 使用System.Runtime V6.0.0.0的原因
LinqPad 7支持多版本.NET运行时,但默认状态下部分场景会绑定到.NET 6.0运行时,原因主要包括:
- 当前查询的目标框架设置为.NET 6.0,而非.NET 7.0;
- LinqPad全局默认的查询框架配置为.NET 6.0;
- 未安装.NET 7.0 SDK,导致LinqPad无法识别并加载该版本运行时。
解决方法
- 切换当前查询的目标框架:在LinqPad查询窗口顶部的框架选择下拉菜单(位于查询名称右侧)中,选择
.NET 7.0。若未找到该选项,先安装.NET 7.0 SDK后重启LinqPad。 - 修改全局默认框架:点击菜单栏
Edit->Preferences->Query,将默认目标框架设置为.NET 7.0,后续新建查询会自动使用该版本。 - 添加程序集重定向(可选):若切换框架后仍存在版本冲突,右键查询选择
Query Properties,在Additional configuration中添加以下配置:<runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="6.0.0.0" newVersion="7.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime> - 验证dll版本:确认Visual Studio项目的目标框架确实为
.NET 7.0,且引用的dll是该项目编译后的最新版本,未混入旧版本文件。
内容的提问来源于stack exchange,提问作者Nikki Locke
相关产品推荐
相关产品推荐

