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

将Visual Studio .NET解决方案适配至GNU/Linux环境

在Linux终端处理多项目.NET解决方案的方法

直接用dotnet CLI搞定,无需逐个编译

.NET自带的CLI完全支持多项目解决方案,不用折腾Make或cmake-converter,直接用原生命令就能完成编译和运行:

  • 编译整个解决方案:切换到sln文件所在目录,执行:
    dotnet build YourSolution.sln
    
    该命令会自动识别子项目依赖顺序,一次性完成所有项目编译,效果和Visual Studio里的"生成解决方案"一致。
  • 运行主项目:找到你要启动的控制台/API项目,进入其目录执行:
    dotnet run
    
    也可以直接在sln目录指定项目路径:
    dotnet run --project ./Path/To/Your/MainProject.csproj
    
  • 编译并一键运行:如果想简化步骤,可执行:
    dotnet run --project ./Path/To/Your/MainProject.csproj
    
    (默认会先编译,无需额外加参数)

cmake-converter报错的原因

cmake-converter对.NET项目的支持基本无效,因为.NET采用MSBuild格式(csproj/vbproj),和CMake的项目模型完全不兼容,工具识别不了.NET项目类型是正常情况,没必要在转换上浪费时间。

若需用Make自动化封装

如果确实需要用Make来统一命令,直接写个简单的Makefile封装dotnet命令即可,无需转换sln:
在sln目录创建Makefile,内容示例:

# 替换为你的主项目路径
MAIN_PROJECT = ./src/YourMainProject/YourMainProject.csproj
SOLUTION = YourSolution.sln

build:
	dotnet build $(SOLUTION)

run:
	dotnet run --project $(MAIN_PROJECT)

clean:
	dotnet clean $(SOLUTION)

# 默认执行编译操作
.DEFAULT_GOAL := build

之后在终端执行:

  • make:编译整个解决方案
  • make run:启动主项目
  • make clean:清理编译产物

内容的提问来源于stack exchange,提问作者Francisco de Javier

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:51:16