Visual Studio for Mac归档Xamarin.iOS应用时出现Frameworks路径找不到的报错
Xamarin.iOS 归档发布时路径报错的原因说明
报错基本信息
- 操作环境:Visual Studio for Mac
- 触发操作:对Xamarin.iOS项目执行「Archive for Publishing」打包归档
- 报错栈位置:
Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets(1431,3) - 报错详情:
Could not find a part of the path '/Users/[username]/Projects/[projectname]/[projectname]/[projectname]/[projectname].iOS/bin/iPhone/Release/[projectname].iOS.app/Frameworks' - 对应依赖版本:Xamarin.Forms 5.0.0.1931、Xamarin.iOS 14.14.1.0
具体出错原因
- Release模式构建缓存异常:当前使用的Xamarin.iOS 14.14.1.0版本存在已知的增量构建逻辑缺陷,之前多次切换Debug/Release模式构建时残留的旧bin、obj目录,会触发归档流程的目录创建逻辑失效,最终导致
.iOS.app包内的Frameworks子目录没有被正常生成。 - 第三方依赖的打包规则不兼容:项目中引入的NuGet组件、原生绑定库如果没有配置Release模式下的Frameworks拷贝规则,会导致构建流程走到目录校验环节时,对应存放路径尚未提前创建,直接触发路径不存在的报错。
- 项目输出路径嵌套冗余:从报错路径能看到连续多层嵌套的项目名目录,说明本地项目的文件存放结构存在冗余嵌套,Visual Studio for Mac在解析iOS项目输出路径时出现拼接偏差,最终指向的Frameworks路径和实际构建输出路径不匹配。
- 项目配置被意外篡改:如果手动编辑过
[项目名].iOS.csproj文件,误改了输出目录配置、Frameworks内置拷贝的编译开关,会导致归档流程在读取Frameworks目录时找不到对应路径。
内容的提问来源于stack exchange,提问作者Vovanok
相关产品推荐
相关产品推荐

