繁体   English   中英

DotPeek:看不到编译器生成的代码

[英]DotPeek: cannot see compiler-generated code

  1. 我的图书馆有一个文件,其中包含:
public class SomeClassWithAwait
{
    public async Task<int> MethodAsync()
    {
        return await Task.Run(() => 1 + 1);
    }
} 
  1. 我打开“显示编译器生成的代码”功能。
  2. 我在“Assembly Explorer”中看到了变化,例如 - state 机器等待。 但是我看不到文件中的更改。 当我从第 2 步打开功能时,我像以前一样只看到 async\await。

我尝试了什么:关闭\打开文件,关闭\打开 dotPeek,在发布\调试模式下重建库。

版本 dotPeek:2020.2.2 构建于 2020-09-09(今天最新)。

有任何想法吗?


更新

关于“在可用时使用符号文件中的源”功能:仍然对我不起作用,我得到了这个:

public async Task<int> MethodAsync()
{
  int num = await Task.Run<int>((Func<int>) (() => 2));
  return num;
}

所以,我仍然有异步/等待。

取消选中“在可用时使用来自符号文件的源”。 然后用代码关闭window再重新打开。

使用符号文件中的源

尝试打开反编译源:右击一个class -> Decompiled Sources

dotPeek 将显示 await/async state 机器,而不是“async/await”语句。

dotPeek 截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM