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

升级VS2019后Xamarin Android报System.Dynamic引用无法解析错误如何解决

解决方案

  • 排查NuGet传递依赖引入的Microsoft.CSharp
    右键Android项目打开「管理NuGet包」界面,切换到已安装标签,勾选显示所有依赖项,逐层检查所有已安装包是否隐含依赖Microsoft.CSharp,尤其是MVVMCross组件、旧版Newtonsoft.Json等用到动态特性的第三方库。找到对应依赖包后,要么升级到适配Xamarin.Android的最新稳定版,要么编辑项目.csproj文件,在对应PackageReference节点添加排除规则:
    <PackageReference Include="你的第三方包名" Version="版本号">
      <ExcludeAssets>Compile</ExcludeAssets>
    </PackageReference>
    
  • 全量清理构建缓存
    关闭VS,删除解决方案根目录下所有bin、obj文件夹,删除当前用户目录下.nuget\packages文件夹内的microsoft.csharp、system.dynamic.runtime相关缓存目录,重启VS后重新生成项目。
  • 调整项目引用配置
    打开Android项目属性页,确认目标Android版本、最小支持版本和升级前配置保持一致;检查项目引用列表,删除残留的Microsoft.CSharp、System.Dynamic程序集引用;如果你的共享代码库是.NET Standard类库,检查该类库是否引用了Microsoft.CSharp,没有用到dynamic特性的话直接删除该引用。
  • 兜底适配方案
    如果以上操作都无法解决,直接在Android项目的.csproj文件中手动添加框架引用:
    <Reference Include="System.Dynamic" />
    <Reference Include="Microsoft.CSharp" />
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 21:15:04