c# - 在 Rider 中反编译 ASP.NET Core 3.x 源代码

标签 c# .net ubuntu .net-core rider

我在安装了 3.1.100 版 .NET SDK 的 Ubuntu 18.10 上使用 Rider 2019.2.3。

当我尝试导航到反编译的源代码时,有时我只看到方法的声明而没有它们的实现,例如:

public static class IdentityServiceCollectionExtensions
{
    public static IdentityBuilder AddIdentity<TUser, TRole>(
      this IServiceCollection services)
      where TUser : class
      where TRole : class;
    ...
}

Rider 从程序集/usr/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/3.1.0/ref/netcoreapp3.1/Microsoft.AspNetCore.Identity.dll。我检查了它的 IL 代码,看起来这个程序集只包含方法的 stub ,没有它们的实现。

所以我有几个问题:

  1. ASP.NET Core 库的实际程序集在我的计算机上的位置是什么?
  2. 如何强制 Rider 反编译实际程序集?

我的 .csproj 指定了 Microsoft.NET.Sdk.Web SDK,所以我想也许我应该安装一些特殊的 SDK 用于 Web 开发,但我不能找不到任何关于此的信息。

最佳答案

在 JetBrains Rider 2019.3 中修复了在 .NET Core 3.0 中导航到反编译方法体的问题。请将您的版本更新到最新的可用版本。

关于c# - 在 Rider 中反编译 ASP.NET Core 3.x 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59597479/

相关文章:

c# - 从非托管 C++ 到 C# 的回调有效,但仅在调试器中有效

c# - 运行命令

c# - .Net 可移植类库和 Microsoft.WindowsAzure.Mobile.Service.EntityData

c# - 如何在 WPF 中自动检测 Flowdirection RightToLeft 或 LeftToRight

c# - 在 Azure Functions 上使用 AdWords API

bash - 如何在不使用 bash -x 的情况下将命令保存在变量中并在执行前打印翻译后的命令

python - 为 paramiko session 设置 session 变量

c# - 使用计时器处理类的正确方法是什么?

java - 为什么两个相等的字符串不匹配?

linux - 在 Linux Mint 19 Tara 上安装 Docker