Windows构建MAUI项目遇net7.0兼容错误,Mac可正常构建
问题原因与解决方案
问题原因
- 主项目
SampleProject的.csproj文件里没配置任何目标框架(要么<TargetFramework>/<TargetFrameworks>节点缺失,要么配置有误),导致以net7.0为目标的测试项目无法识别它的兼容框架,直接触发NU1201错误。 - 删掉测试项目的net7.0目标后,测试项目没有其他有效的目标框架配置,自然没法构建;而主项目不依赖测试项目,所以能正常编译。
解决方法
1. 给主项目补上正确的目标框架
打开SampleProject.csproj,添加或修正目标框架配置:
- 如果只需要支持net7.0(和测试项目一致):
<PropertyGroup> <TargetFramework>net7.0</TargetFramework> </PropertyGroup>
- 如果要兼容多个框架版本:
<PropertyGroup> <TargetFrameworks>net7.0;net6.0</TargetFrameworks> </PropertyGroup>
2. 确保测试项目的目标框架和主项目兼容
打开SampleProject.Tests.csproj,确认它的目标框架和主项目的框架兼容:
比如主项目用net7.0,测试项目也保持net7.0:
<PropertyGroup> <TargetFramework>net7.0</TargetFramework> <IsPackable>false</IsPackable> </PropertyGroup>
要是主项目是多目标框架,测试项目可以配置成对应兼容的版本,或者保持单目标但主项目必须包含该版本。
3. 重新构建解决方案
保存修改后的项目文件,先清理再构建:
终端执行命令:
dotnet clean dotnet build
或者在Visual Studio里点「清理解决方案」,再点「生成解决方案」。
内容的提问来源于stack exchange,提问作者Bala
相关产品推荐
相关产品推荐

