【问题标题】:UWP release build failsUWP 发布构建失败
【发布时间】:2018-10-11 17:53:18
【问题描述】:

我刚刚使用 .net 标准 2.0 库将我的 Windows 应用程序升级到了 UWP。该应用程序已完成,现在我正在尝试创建一个发布版本,但该版本需要很长时间并最终崩溃,出现 138 个错误,其中包含以下错误以及更多错误(参见屏幕截图)。调试构建和运行没有问题。我正在使用 VS 2017 15.8.7。浪费我几个小时的时间现在有人对如何解决这个问题有任何建议吗?

Method 'DynamicObjectTypeBuilder.BuildFormatterToDynamicMethod(Type, bool, bool, bool)' will always throw an exception due to the missing method 'DynamicMethod..ctor(string, Type, Type[], Type, bool)' in assembly 'System.Reflection.Emit.Lightweight'. There may have been a missing assembly, or a dependency on a more recent Windows SDK release.        

【问题讨论】:

  • GitHub 上已经记录了一个问题。
  • uwp请查看System.Reflection.Emitnamesapce支持列表,不支持您使用的方法。
  • 我在我的应用程序中使用了一个 3rd 方 nuget 包,该包显然使用了反射.emit。在我的 iOS 和 Android 应用程序中一切正常,它们已经在商店中了。它在我的 UWP 应用程序的调试中也可以正常工作,但是一旦您尝试创建发布版本,它就会崩溃。问题出在 .net 原生编译器上,它会耗尽内存然后崩溃,这就是构建需要永远进行的原因。

标签: uwp .net-standard-2.0 .net-native release-builds


【解决方案1】:

所以我有 2 个选项来解决这个问题:

  1. 修复第 3 方包的代码,使其可以与 UWP 一起使用。
  2. 从我的 UWP 应用中删除包含第 3 方包的 .net 标准库,并找到实现此功能的另一种方法。

因为我想尽快发布这个应用,但我不知道修复第 3 方包需要做多少工作,所以我选择了选项 2。到目前为止,针对 UWP 应用的 X 平台应用开发。

【讨论】:

    猜你喜欢
    • 2016-04-30
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    相关资源
    最近更新 更多