You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2022编译.NET Framework4.6.2测试项目报BC31091错误,VS2019正常

解决.NET Framework 4.6.2测试项目在VS2022中编译BC31091错误的可行思路

针对你遇到的error BC31091: Import of type 'ValueTuple(Of ,)' from assembly or module 'CommonLanguageRuntimeLibrary' failed错误,以下是几个针对性的排查和解决方向:

  • 强制安装/更新System.ValueTuple NuGet包
    .NET Framework 4.6.2本身不原生支持ValueTuple,依赖NuGet包提供该类型。打开项目的NuGet包管理器,搜索System.ValueTuple,确保已安装;如果已安装,尝试更新到最新的兼容版本(目前最新稳定版是4.5.0),并确认引用的是NuGet包的版本而非系统CLR自带的。

  • 调整VB语言版本设置
    右键项目→属性→编译→点击“高级编译选项”,将“语言版本”设置为15.0或更高(ValueTuple在VB15中引入)。VS2022的默认语言版本可能与VS2019不同,手动指定版本可避免编译工具链的兼容性问题。也可以直接编辑项目文件(.vbproj),在<PropertyGroup>节点中添加:

    <LangVersion>15</LangVersion>
    
  • 清理编译残留并重新生成
    删除项目目录下的bin、obj文件夹,清理NuGet本地缓存(可通过VS的“工具→NuGet包管理器→程序包管理器设置→清除所有NuGet缓存”操作),之后重新生成整个解决方案,排除旧编译文件的干扰。

  • 检查项目引用的有效性
    打开项目的引用列表,查看是否存在System.ValueTuple引用。如果存在,确认其“复制本地”属性设置为True;如果不存在,手动添加NuGet包的引用而非系统程序集。同时排查是否有其他冲突的引用(比如重复引用不同版本的ValueTuple)。

  • 修复VS2022的VB编译组件
    打开Visual Studio Installer,选择你的VS2022安装实例,点击“修改”,确保“.NET Framework 4.6.2开发工具”和“Visual Basic编译工具”已勾选并完成修复安装,避免因组件损坏导致的编译异常。

  • 排查项目文件中的特殊配置
    编辑项目文件(.vbproj),检查是否存在<NoCompilerStandardLib>True</NoCompilerStandardLib>这类禁用标准库的配置,若有则改为False;同时确认是否有条件编译符号或自定义的程序集引用路径干扰了ValueTuple的加载。

内容的提问来源于stack exchange,提问作者rasputino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:08:33