【问题标题】:System.TypeLoadException: 'VTable setup of type Xamarin.Forms.Forms+AndroidPlatformServices failed'System.TypeLoadException:“Xamarin.Forms.Forms+AndroidPlatformServices 类型的 VTable 设置失败”
【发布时间】:2020-10-08 09:02:45
【问题描述】:

我是 Xamarin 的新手,目前我必须对现有应用程序之一进行一些更改。 但是当我尝试加载项目时,最初有很多与版本代码相关的错误。我设法克服了这些错误,但我被这个错误击中了。

System.TypeLoadException: 'Xamarin.Forms.Forms+AndroidPlatformServices 类型的 VTable 设置失败'

首先我认为这个错误可能与 Xamarin Form 版本号有关。但我也尝试过那个但没有运气。在错误日志中我可以看到

严重性代码描述项目文件行抑制状态 错误 NU5048 不推荐使用“PackageIconUrl”/“iconUrl”元素。考虑改用“PackageIcon”/“icon”元素。在https://aka.ms/deprecateIconUrlIniFileParser C:\Program Files\dotnet\sdk\3.1.300\Sdks\NuGet.Build.Tasks.Pack\buildCrossTargeting\NuGet.Build.Tasks.Pack.targets 198 了解更多信息

任何帮助将不胜感激。

【问题讨论】:

  • 遇到问题时是否使用 FFImageLoading?你测试过一个新项目吗?它会抛出同样的错误吗?
  • 我没有检查 FFImageLoading 。我会检查一下。
  • 这个问题有什么更新吗?
  • 我遇到了the issues, too。当我使用 packages.config 时,应用程序启动正常。
  • @WendyZang-MSFT 不,我没有使用 FFImageloading。

标签: xamarin xamarin.forms xamarin.android xamarin-studio


【解决方案1】:

当我收到以下类型的错误时:

VTable setup of Type ??? failed.

我发现原因是同一个 dll 的多个版本,因此编译的版本与部署的版本不同。

如果您查看 VS(调试)输出窗口,您可能会看到类似(使用调试运行时)这样的错误:

"Could not resolve type with token 0100015a from typeref"

这可能是由于将您的一个项目升级为依赖于较新版本的库而忽略了对所有项目执行此操作。

要解决此问题,请找到Could not resolve type with token 0100015a from typeref 消息旁边提到的类型,并确保对其包含的 dll 的所有引用都是相同的版本。

【讨论】:

    【解决方案2】:

    我通过以下方式解决了这个问题:

    1. 转到:帮助 > 检查更新
    2. 已安装最新更新
    3. 转到:构建 > 重建解决方案

    之后,我能够在 Android 模拟器上运行调试器,并且错误消失了。

    【讨论】:

      【解决方案3】:

      Xamarin.Google.Android.MaterialXamarin.AndroidX.AppCompat packagaes 升级到最新版本。它帮助了我。

      【讨论】:

        猜你喜欢
        • 2020-12-17
        • 2019-04-24
        • 1970-01-01
        • 2014-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-17
        相关资源
        最近更新 更多