在Linux上运行.NET应用服务是否需要安装.NET SDK?
.NET Core API Linux环境运行依赖解答
结论:仅安装对应版本的.NET运行时即可正常运行已编译完成的.NET Core API服务,无需安装完整的.NET SDK
核心原因说明
- .NET SDK 是面向开发场景的工具集合,包含代码编译、项目打包、脚手架生成、单元测试等开发全流程所需的组件,仅当你需要在当前CentOS机器上直接开发、编译.NET项目时才需要安装,生产运行环境不需要这些开发工具。
- .NET 运行时仅包含运行已编译.NET程序所需的核心组件、虚拟机及基础类库,体积远小于SDK,完全满足生产环境的服务运行需求。如果是运行ASP.NET Core API这类Web服务,更推荐安装
ASP.NET Core Runtime而非基础的.NET Runtime,前者预置了所有ASP.NET Core相关的Web类库,可避免出现运行时依赖缺失问题。
补充场景说明
如果你已经在其他设备上完成了项目编译,生成了部署包,可参考以下规则匹配依赖:
- 若编译的是框架依赖模式的部署包:目标CentOS机器只需要安装对应大版本的ASP.NET Core Runtime即可直接启动服务
- 若编译的是独立部署模式的部署包:部署包已经内置了对应版本的运行时,目标机器不需要额外安装任何.NET相关组件即可直接运行
CentOS环境运行时安装示例(以.NET 6为例)
- 添加微软包源后执行安装命令:
dnf install aspnetcore-runtime-6.0 - 安装完成后可执行以下命令验证是否安装成功:
dotnet --list-runtimes
如果输出中包含ASP.NET Core对应版本的记录,即为安装正常,可配合Nginx反向代理正常启动你的API服务。
内容的提问来源于stack exchange,提问作者Naveen Reddy CH
相关产品推荐
相关产品推荐

