.NET应用怎么在Linux上运行 .NET跨平台部署指南

星降
发布: 2025-12-18 12:36:08
原创
943人浏览过
.NET应用可在Linux运行,前提是使用.NET Core或.NET 5+版本;需检查.csproj中为netcoreapp3.1及以上,发布时选择框架依赖或独立部署,注意RID、路径、权限、本地库及区域设置适配。

.net应用怎么在linux上运行 .net跨平台部署指南

NET应用可以在Linux上直接运行,前提是使用.NET Core或.NET 5及更高版本(统称“.NET”),因为它们原生支持跨平台。.NET Framework不行,它仅限Windows。

确认应用基于支持跨平台的.NET版本

打开项目文件(.csproj),检查<targetframework></targetframework>节点:

  • netcoreapp3.1net5.0net6.0net7.0net8.0等——可部署到Linux
  • net472net48等——属于.NET Framework,无法在Linux原生运行(除非用Mono,但不推荐用于新项目)

发布为独立部署(Self-contained)或框架依赖(Framework-dependent)

两种方式都可行,区别在于是否把.NET运行时一起打包:

  • 框架依赖部署:体积小,但目标Linux服务器必须已安装对应版本的.NET运行时
  • 独立部署:生成包含运行时的完整文件夹,无需提前装.NET,适合环境不可控或无管理员权限的场景

命令示例(发布为Linux x64独立应用):

dotnet publish -c Release -r linux-x64 --self-contained true -o ./publish
登录后复制

注意:-r linux-x64中的运行时标识符(RID)需匹配目标系统架构(如linux-arm64用于树莓派或AWS Graviton)。

Hugging Face
Hugging Face

Hugging Face AI开源社区

Hugging Face 270
查看详情 Hugging Face

在Linux上运行和托管

发布后进入./publish目录,直接执行:

  • 控制台应用:./YourApp(确保有执行权限:chmod +x YourApp
  • Web应用(如ASP.NET Core):./YourWebApp,默认监听http://localhost:5000

生产环境建议用反向代理(如Nginx)+ 进程管理(如systemd):

  • Nginx转发请求,并处理HTTPS、静态文件、负载均衡等
  • 用systemd写个服务单元文件(/etc/systemd/system/myapp.service),实现开机自启、崩溃重启、日志集成

注意Linux特有事项

常见坑点提前规避:

  • 路径分隔符:用Path.Combine()代替硬编码"/""\"
  • 文件权限与大小写:Linux文件系统区分大小写,资源路径、配置文件名别写错
  • 依赖本地库:若用到System.Drawing(旧版)、FFmpeg、SQLite等,需确认Linux下对应原生库已安装(如libgdipluslibsqlite3-dev
  • 时区与区域设置:容器中可能默认是C.UTF-8,影响日期格式化或字符串比较,必要时在启动脚本中设export TZ=Asia/Shanghai

基本上就这些。只要用对.NET版本、选好发布方式、适配好路径和依赖,Linux跑.NET和Windows一样稳。

以上就是.NET应用怎么在Linux上运行 .NET跨平台部署指南的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号