You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下VS Code构建的C#项目二进制文件位置及单文件生成方法

Linux下C#项目生成独立可执行文件及直接运行方案

一、常规编译后直接运行的方法

如果无需生成单个独立文件,仅想直接运行编译后的二进制,可按以下步骤操作:

  • 在项目根目录执行编译命令:
    dotnet build -c Release
    
  • 编译完成后,可执行文件默认位于bin/Release/net<你的.NET版本>/目录下(例如bin/Release/net6.0/),文件名与项目名称一致(Linux下为无后缀的可执行文件)。
  • 直接运行该文件:
    # 进入对应目录后运行
    cd bin/Release/net<你的.NET版本>/
    ./<项目名称>
    
    # 或直接使用绝对路径运行
    /path/to/your/project/bin/Release/net<你的.NET版本>/<项目名称>
    

二、生成单个独立可执行文件(无需系统.NET环境)

要生成能直接在终端运行的单个二进制文件,需使用.NET的自包含发布功能,步骤如下:

  1. 确认项目目标框架:打开项目的.csproj文件,确保存在类似以下配置(替换为你实际使用的.NET版本,如net6.0、net7.0):
    <TargetFramework>net6.0</TargetFramework>
    
  2. 执行发布命令:在项目根目录运行以下命令(根据你的系统架构调整-r参数):
    # 64位Linux平台
    dotnet publish -c Release -r linux-x64 --self-contained true /p:PublishSingleFile=true /p:PublishTrimmed=true
    
    # 32位Linux平台
    # dotnet publish -c Release -r linux-x86 --self-contained true /p:PublishSingleFile=true /p:PublishTrimmed=true
    
    # ARM64架构Linux平台
    # dotnet publish -c Release -r linux-arm64 --self-contained true /p:PublishSingleFile=true /p:PublishTrimmed=true
    
    参数说明:
    • -c Release:以发布模式编译,生成优化后的生产版本
    • -r <runtime-id>:指定目标运行环境,确保生成的文件适配你的Linux架构
    • --self-contained true:将.NET运行时与程序一起打包,无需系统预先安装.NET环境
    • /p:PublishSingleFile=true:将所有依赖打包为单个可执行文件
    • /p:PublishTrimmed=true:裁剪未使用的代码和库,减小文件体积
  3. 获取可执行文件:发布完成后,单个可执行文件位于bin/Release/net<你的.NET版本>/<runtime-id>/publish/目录下(例如bin/Release/net6.0/linux-x64/publish/)。
  4. 运行:将该文件复制到任意目录,在终端直接执行:
    ./<项目名称>
    

内容的提问来源于stack exchange,提问作者mikuNyaKva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:40:28