You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译MAUI iOS应用时提示找不到System.IO.Path.GetDirectoryName方法

解决MAUI iOS模拟器编译MSB4186错误的步骤

这个错误是MSBuild解析资源路径时的语法问题,和PNG文件位置无关,按以下步骤排查:

  • 更新.NET MAUI SDK到最新稳定版
    确保你的.NET 8 SDK是最新补丁版本,MAUI SDK同步更新。旧版本的Resizetizer工具存在这类路径解析的语法bug,更新后通常能解决。

  • 彻底清理项目并重建

    1. 手动删除项目根目录下的bin和obj文件夹
    2. 重启开发工具(Visual Studio或VS Code)
    3. 重新执行编译命令: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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:42:36