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

scyqe7ek  于 2023-01-31  发布在  .NET
关注(0)|答案(2)|浏览(212)

1.我的库中有一个文件,其中包含:

public class SomeClassWithAwait
{
    public async Task<int> MethodAsync()
    {
        return await Task.Run(() => 1 + 1);
    }
}

1.我打开了"显示编译器生成的代码"功能。
1.我在"汇编资源管理器"中看到了变化,例如等待的状态机。但是我看不到文件中的变化。当我从第2步打开特性时,我只看到async\await。
我尝试了:关闭\打开文件,关闭\打开dotPeek,在发布\调试模式下重建库。
版本. Peek:2020.2.2构建于2020 - 09 - 09(今天最新)。
有什么想法吗?

    • 已更新**

关于"使用符号文件中可用的源"功能:我还是不行,我有这个:

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

所以,我仍然有async/wait。

bvn4nwqk

bvn4nwqk1#

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

3df52oht

3df52oht2#

尝试打开反编译源代码:右键单击类-〉反编译源代码
dotPeek将显示await/async状态机,而不是“async/await”语句。
dotPeek Screenshot

相关问题