安装ASP.NET Core 3.1 SDK后无法识别,编译遇NETSDK1045错误
问题原因及解决步骤
核心错误:安装了Runtime而非SDK
你下载的是.NET Core 3.1的Runtime(运行时),但编译项目需要的是SDK(软件开发工具包),所以执行dotnet --list-sdks时看不到3.1版本,编译自然失败。
具体解决步骤
- 卸载已安装的.NET Core 3.1 Runtime,重新下载对应版本的SDK(注意区分Runtime和SDK:SDK包含编译工具,Runtime仅用于运行已编译程序)。安装完成后再次执行
dotnet --list-sdks,确认3.1.x版本出现在列表中。 - 正确修改项目的TargetFramework:将.csproj文件里的
<TargetFramework>netcoreapp3.0</TargetFramework>改为<TargetFramework>netcoreapp3.1</TargetFramework>,保存后执行dotnet clean清理项目,再执行dotnet build重新生成。 - 处理
System.IO.Hashing依赖问题:该包从.NET 5开始内置,在.NET Core 3.1中需安装兼容的NuGet包版本(唯一支持3.1的是1.0.0版本),执行命令dotnet add package System.IO.Hashing --version 1.0.0即可。 - 对照其他正常运行的机器环境:其他机器能正常运行,说明其已安装.NET Core 3.1 SDK,且项目的TargetFramework和依赖包版本均兼容,可直接对照配置调整本地环境。
内容的提问来源于stack exchange,提问作者Roquet
相关产品推荐
相关产品推荐

