.NET Native 编译器忽略显式方法覆盖

.NET Native compiler ignores Explicit Method Overriding

在我的 UWP 项目中,我有一个依赖 IL 指令的库,例如 override

.method public virtual instance void Method1(string s, object o) {
    .override ClassA::Method2

    // code

}

此 IL 指令在 debug 中有效,但在 release 中编译时失败。

.NET Native 编译器当前针对由我们的 C# 和 VB 编译器(旧编译器和 Roslyn)生成的 IL。我不是很熟悉他们的输出,但通常这种问题意味着 "normal" C#/VB 永远不会发出这样的 IL。

可能有两条前进的道路:

  • 重做您的 IL 生成器,使其看起来更像 "typical" C#/VB
  • 给我们发一封邮件到 dotnetnative@microsoft.com,我们将看看如何点亮它

从历史上看,我们一直非常努力地专注于 C#/VB 方案,但我们会在这里和那里进行修复,以帮助支持具有 "odd" IL 构造的人们。无论哪种方式,了解您的情况肯定可以帮助我们在未来做出更明智的工程决策。