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

VS2017 Xamarin Android发布模式下System.Runtime加载失败求助

解决Xamarin Android发布模式下System.Runtime加载失败的问题

我之前在VS2017开发Xamarin Android应用时,也碰到过和你完全一样的问题——调试开了共享运行时一切正常,一关就报找不到System.Runtime的错误。给你几个亲测有效的解决思路:

  • 统一NuGet包版本
    大概率是不同NuGet包引用的System.Runtime版本不一致导致的。右键解决方案→「管理解决方案的NuGet程序包」,找到所有和System.Runtime相关的包(比如System.Runtime、System.Runtime.Extensions),确保所有项目的版本完全统一,最好更新到稳定版。操作完记得清理解决方案再重新生成。

  • 手动添加程序集绑定重定向
    如果版本不一致的问题没法通过更新包解决,就手动加绑定重定向。在Android项目根目录新建一个app.config文件,加入以下配置:

    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.3.0.0" />
            <!-- 这里的newVersion要换成你项目实际用的版本,可在obj\Debug\project.assets.json里搜索System.Runtime找到 -->
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    

    加完之后重新生成项目,再尝试发布。

  • 调整发布模式的项目设置
    去项目属性的Android选项卡,发布模式下暂时关闭「代码优化」选项——有时候编译器的优化会误删必要的程序集依赖。另外检查你的目标Android框架版本,确保对应的SDK和工具都安装完整,也可以尝试切换到稍低一点的稳定版本试试。

  • 彻底清理重建项目
    这个方法看似简单但经常能解决奇怪的问题:先点Build→「Clean Solution」,然后手动删除所有项目下的bin和obj文件夹,再重新生成整个解决方案,发布前记得选择「重新生成所有项目」。

  • 排查第三方库依赖
    有些第三方NuGet包会隐式依赖特定版本的System.Runtime,你可以在NuGet包管理器的「已安装」标签里,逐个查看每个包的依赖项,看看有没有冲突的版本。必要时更新或者替换那些依赖旧版本的库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:38:40