VS2019可正常构建.NET 5项目 执行dotnet build提示找不到.NETFramework v5.0
.NET 5项目dotnet build报错MSB3971解决方案
问题背景
使用环境如下:
- Visual Studio Pro 2019 v16.11.2,IDE内可正常编译运行MVC项目
- Win10系统已安装.NET SDK 5.0.400,项目global.json指定SDK版本为5.0.400

执行如下构建命令时报错:
dotnet build "MVConDocker.csproj" -c Release -o /app/build
报错信息:
error MSB3971: The reference assemblies for ".NETFramework,Version=v5.0" were not found.
解决方案
该报错本质是执行构建命令的环境缺少.NET 5对应目标引用包,VS可正常编译是因为IDE默认附带了对应组件,按以下步骤排查即可:
- 本地终端执行命令场景
- 终端执行
dotnet --info,确认已安装SDK列表中存在5.0.400版本,且当前调用的dotnet命令架构(x86/x64)和已安装SDK架构一致。 - 若SDK存在仍报错,手动安装.NET 5.0桌面运行时补充缺失的引用包即可。
- 检查项目
.csproj文件,确认<TargetFramework>节点值为net5.0;如果项目配置了<UseWindowsForms>true</UseWindowsForms>或<UseWPF>true</UseWPF>,需要单独安装对应版本的.NET桌面SDK。
- 终端执行
- Docker构建执行命令场景
学习Docker的场景下多数属于该情况,按以下规则修改Dockerfile即可:- 构建阶段的基础镜像替换为.NET 5.0对应SDK镜像。
- 运行阶段的基础镜像替换为对应ASP.NET 5.0运行时镜像。
内容的提问来源于stack exchange,提问作者Miken
相关产品推荐
相关产品推荐


