【问题标题】:DotPeek: cannot see compiler-generated codeDotPeek:看不到编译器生成的代码
【发布时间】:2020-09-19 15:06:00
【问题描述】:
  1. 我的库中有一个文件,其中包含:
public class SomeClassWithAwait
{
    public async Task<int> MethodAsync()
    {
        return await Task.Run(() => 1 + 1);
    }
} 
  1. 我打开了“显示编译器生成的代码”功能。
  2. 我看到“程序集资源管理器”中的更改,例如 - 等待状态机。但我看不到文件的变化。当我从第 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;
}

所以,我还有 async/await。

【问题讨论】:

  • 你能准确解释一下你想看到什么吗?
  • @ThomasWeller,异步/等待状态机
  • 为什么状态机应该在您的编译代码中,而不是在 Microsoft .NET 框架代码中?

标签: c# .net jetbrains-ide dotpeek jetbrains-hub


【解决方案1】:

取消选中“在可用时使用符号文件中的源”。然后关闭带有代码的窗口并重新打开它。

【讨论】:

  • 感谢您的回答,但它仍然对我不起作用。代码已更改,但 async\await 仍然存在。用详细信息更新了我的问题。
猜你喜欢
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 2020-08-20
  • 1970-01-01
  • 2013-05-22
相关资源
最近更新 更多