.NET MAUI 6.0编译报错:framework 'NewsstandKit' not found
解决.NET MAUI .NET 6 iOS编译错误:framework 'NewsstandKit' not found
问题原因
iOS 17已完全移除NewsstandKit框架,但.NET 6的MAUI iOS项目模板默认仍保留对该废弃框架的引用,导致编译时无法找到依赖,触发clang++ exited with code 1错误。而.NET 7及后续版本的MAUI已更新模板移除了该引用,因此能正常编译。
修复步骤
- 编辑iOS配置文件:打开项目的
Platforms/iOS/Info.plist,删除所有与NewsstandKit相关的配置项,比如<key>UINewsstandApp</key><true/>这类条目。 - 修改项目文件:打开
.csproj文件,找到iOS平台相关配置,移除对NewsstandKit的引用——删除类似<FrameworkReference Include="NewsstandKit" />的行,或是移除<MtouchExtraArgs>中包含的-framework NewsstandKit参数。 - 清理重建项目:执行Visual Studio的「清理解决方案」操作,手动删除项目目录下的
bin和obj文件夹,重新配对Mac主机后再编译iOS项目。
备选方案
若上述方法无效,可在.csproj的iOS配置中指定最低兼容iOS版本(比如iOS 16,NewsstandKit从该版本开始标记为废弃):
<PropertyGroup Condition="'$(TargetFramework)' == 'net6.0-ios'"> <SupportedOSPlatformVersion>16.0</SupportedOSPlatformVersion> </PropertyGroup>
但更推荐直接移除废弃框架的引用,避免后续版本兼容隐患。
内容的提问来源于stack exchange,提问作者JOrtegaS
相关产品推荐
相关产品推荐

