编译MAUI iOS应用时提示找不到System.IO.Path.GetDirectoryName方法
解决MAUI iOS模拟器编译MSB4186错误的步骤
这个错误是MSBuild解析资源路径时的语法问题,和PNG文件位置无关,按以下步骤排查:
更新.NET MAUI SDK到最新稳定版
确保你的.NET 8 SDK是最新补丁版本,MAUI SDK同步更新。旧版本的Resizetizer工具存在这类路径解析的语法bug,更新后通常能解决。彻底清理项目并重建
- 手动删除项目根目录下的
bin和obj文件夹 - 重启开发工具(Visual Studio或VS Code)
- 重新执行编译命令:
dotnet build -f net8.0-ios
- 手动删除项目根目录下的
检查项目文件的资源配置
打开.csproj文件,确认AppIcon的配置使用MAUI标准格式,避免硬编码绝对路径。例如正确的AppIcon配置应该是:<MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />若存在手动添加的iOS资源项,确保使用MSBuild属性(如
$(IntermediateOutputPath))而非直接写死本地路径。统一Resizetizer包版本
检查项目依赖的Microsoft.Maui.Resizetizer包版本,确保它与当前.NET MAUI SDK版本完全一致,不一致则更新到对应版本。更换项目路径为纯英文无特殊字符
如果项目所在路径包含空格、中文或其他非ASCII字符,将项目移动到纯英文、无空格的路径下,避免MSBuild解析路径时出现转义错误。
内容的提问来源于stack exchange,提问作者Moshe Raab
相关产品推荐
相关产品推荐

