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

安装Xamarin.Google.Android.ODML.Image预发布版后项目编译失败求助

解决Xamarin.Google.MLKit.BarcodeScanning集成时的"Invalid item ID image-1.0.0-beta1"编译错误

下面是几个可行的解决步骤,按顺序尝试:

1. 更新Xamarin.Build.Download到最新稳定版

预发布的ODML.Image依赖搭配旧版Xamarin.Build.Download容易出现资源ID解析问题,手动更新到最新稳定版:

  • 打开NuGet包管理器,找到Xamarin.Build.Download
  • 卸载当前的0.11.3版本,安装最新的稳定版本(比如0.12.x及以上)
  • 清理项目后重新编译

2. 手动指定ODML.Image的资源配置

如果更新Build.Download后还是报错,尝试在项目的.csproj文件中添加以下配置,强制指定资源的正确ID映射:

<ItemGroup>
  <AndroidAsset Include="$(MSBuildThisFileDirectory)..\Xamarin.Google.Android.ODML.Image\content\*.bin" />
</ItemGroup>
<PropertyGroup>
  <AndroidUseManagedDesignTimeResourceGenerator>False</AndroidUseManagedDesignTimeResourceGenerator>
</PropertyGroup>

修改后保存,清理并重建项目。

3. 替换为稳定版依赖(如果允许)

如果项目对预发布版本没有硬性要求,可以尝试使用Xamarin.Google.MLKit.BarcodeScanning的稳定版本,它会依赖稳定版的ODML.Image,从根源避免预发布版本的兼容性问题:

  • 卸载当前的预发布版本的Xamarin.Google.MLKit.BarcodeScanning和Xamarin.Google.Android.ODML.Image
  • 安装稳定版的Xamarin.Google.MLKit.BarcodeScanning,让NuGet自动匹配兼容的稳定依赖

4. 清理NuGet缓存并重新还原

有时候缓存的损坏依赖会导致奇怪的错误,执行以下操作:

  • 关闭Visual Studio
  • 删除项目目录下的obj和bin文件夹
  • 清理NuGet缓存:打开命令提示符,执行dotnet nuget locals all --clear
  • 重新打开项目,右键选择"还原NuGet包",然后编译项目

内容的提问来源于stack exchange,提问作者WarSha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 03:30:45