Linux环境下Makefile中.NET 7 MSBUILD路径配置咨询
在Makefile中使用.NET 7 MSBuild替代Mono MSBuild 15.0的方案
.NET 7 MSBuild的路径说明
和Mono固定版本号的路径结构不同,.NET SDK的MSBuild路径会依赖具体的SDK版本号和操作系统,典型路径如下:
Windows系统
- 全局默认安装路径:
其中MSBUILD_PATH=C:\Program Files\dotnet\sdk\7.0.xxx\MSBuild\Current\Bin7.0.xxx是你安装的.NET 7 SDK具体版本(比如7.0.401),可通过dotnet --list-sdks命令查看已安装的版本号。
Linux/macOS系统
- 全局默认安装路径:
MSBUILD_PATH=/usr/share/dotnet/sdk/7.0.xxx/MSBuild/Current/Bin - 用户级安装路径(非root方式安装时):
MSBUILD_PATH=~/.dotnet/sdk/7.0.xxx/MSBuild/Current/Bin
推荐用法:无需硬编码路径
硬编码路径会因SDK版本更新失效,更稳妥的方式是直接通过dotnet命令调用MSBuild,Makefile示例:
PROJECT_FILE = YourProject.csproj CONFIG = Release build: dotnet msbuild $(PROJECT_FILE) -t:Build -p:Configuration=$(CONFIG)
这种方式会自动关联当前环境中配置的.NET 7 SDK对应的MSBuild,无需手动维护路径。
验证版本正确性
执行以下命令确认使用的是.NET 7的MSBuild:
dotnet msbuild -version
输出应显示7.0.x开头的版本号,而非Mono的15.0版本。
内容的提问来源于stack exchange,提问作者MakiWolf
相关产品推荐
相关产品推荐

