安装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
相关产品推荐
相关产品推荐

