程序dotnet.exe已退出,代码为0——如何更改.NET Core版本
解决.NET项目目标框架版本不匹配问题
方案一:将项目升级到.NET 7.0.200
项目编译后始终生成netcoreapp3.1版本,核心原因是项目配置文件指定的目标框架仍是3.1,而非bin目录文件的问题。按以下步骤修改:
- 打开项目的
.csproj文件,找到<TargetFramework>节点,将netcoreapp3.1替换为net7.0:<TargetFramework>net7.0</TargetFramework> - 检查项目依赖的NuGet包:部分旧版本包可能仅支持netcoreapp3.1,需更新到兼容.NET 7的版本。可通过以下命令查看并更新:
# 列出过时的NuGet包 dotnet list package --outdated # 更新指定包(替换为实际包名和版本) dotnet add package <PackageName> --version <LatestCompatibleVersion> - 清理并重新生成项目:
dotnet clean dotnet build
完成后,bin/Debug目录下将生成net7.0版本的编译文件,且后续编译不会再回到3.1版本。
方案二:保留.NET Core 3.1版本(不推荐,因3.1已停止官方维护)
若因依赖限制无法升级,可通过以下步骤让项目使用3.1 SDK:
- 安装.NET Core 3.1 SDK:下载对应版本的SDK并完成安装(需匹配项目所需的3.1具体版本)。
- 创建
global.json文件:在项目根目录或解决方案根目录下新建该文件,内容如下(替换为你安装的3.1 SDK具体版本号):{ "sdk": { "version": "3.1.426" } }
该文件会强制dotnet命令使用指定的3.1 SDK编译项目,避免本地7.0 SDK的干扰。
内容的提问来源于stack exchange,提问作者Forsh75
相关产品推荐
相关产品推荐

