已装.NET 8.0.100,如何用终端构建.NET Framework 4.7.2项目?
解决方案:用MSBuild构建.NET Framework v4.7.2项目
先搞懂核心区别
你混淆了两个完全独立的.NET平台:
- .NET Framework(v4.x系列):传统Windows平台的.NET框架,SDK/运行时默认装在
C:\Windows\Microsoft.NET,dotnetCLI根本不支持它。 - .NET(原.NET Core,如8.0):跨平台的新.NET,工具链是
dotnetCLI,SDK装在C:\Program Files\dotnet,所以dotnet --list-sdks只会显示这类版本。
这就是为什么你装了v4.7.2却在dotnet --list-sdks里看不到、用dotnet build也报错的原因——dotnet命令管不着.NET Framework项目。
终端构建的正确姿势
直接用MSBuild就行,这是Visual Studio背后用来构建.NET Framework项目的工具:
- 找到MSBuild的路径:
如果你装了Visual Studio,路径大概是这样(替换成你对应的VS版本和版本类型):C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe - 在终端执行构建命令:
"C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" 你的项目文件.csproj /p:Configuration=Release - 嫌路径太长?把MSBuild所在的
Bin目录添加到系统PATH环境变量,之后直接敲MSBuild.exe 你的项目文件.csproj就能构建了。
避坑提醒
- 别折腾
globaljson了:它只用来指定dotnetCLI用哪个.NET Core/.NET SDK版本,对.NET Framework完全无效。 - 不用额外装.NET Framework SDK:你能通过Visual Studio正常构建,说明SDK已经到位了,直接用MSBuild就行。
内容的提问来源于stack exchange,提问作者Sid Prasad
相关产品推荐
相关产品推荐

