.NET本机编译器忽略显式方法覆盖
问题描述:
在我的UWP项目中,我有一个依赖IL指令的库,如override
。.NET本机编译器忽略显式方法覆盖
.method public virtual instance void Method1(string s, object o) {
.override ClassA::Method2
// code
}
这IL指令要debug
但是当我在release
编译失败。
答
.NET Native编译器目前的目标是由我们的C#和VB编译器(旧版本和Roslyn)生成的IL。我不完全熟悉它们的输出,但通常这种问题意味着“正常”的C#/ VB永远不会发出这样的IL。
有潜在的两条路径前进:
- 重做你IL发生器,使它看起来更像是“典型”的C#/ VB
- 拍了我们一个邮件在[email protected],我们会看到如何才能点亮这件事
从历史上看,我们已经很努力地集中在C#/ VB的情况,但我们已经采取修复这里和那里帮助支持人员有“奇” IL结构。无论哪种方式,听取您的情况都可以帮助我们在未来做出更明智的工程决策。