23

有谁知道 Visual Studio 扩展,它将反编译程序集并允许您在 Visual Studio 中查看给定类的代码,而不必离开 VS 并使用 ILSpy 或其他“外部”反射工具?我知道 Resharper 也有一个反射工具,但如果你能在 VS 中启动它会很好。

4

5 回答 5

32

较新版本的 Visual Studio 2017 现在包括一个名为导航到反编译源的实验性功能。它要求您显式启用它(并重新启动 Visual Studio),但一旦您这样做,您就可以看到代码引用的程序集的反编译源代码。

例如,如果您将插入符号(文本光标)放在方法调用中的方法名称上并按下F12(默认情况下),它将在 IDE 中打开一个新选项卡,其中显示该方法的反编译源代码。微软表示这在幕后使用了 ILSpy,但这更方便,并且不需要你安装任何新东西。

于 2018-05-24T20:18:03.103 回答
27

我知道 Resharper 也有一个反射工具,但如果你能在 VS 中启动它会很好。

你可以。将光标放在标识符上,选择ReSharper | Navigate | Navigate To...(VS 方案中的键盘快捷键是Alt+ `),然后选择Decompiled Sources.

这使用与独立工具 dotPeek 相同的反编译引擎。

请注意,在这种反编译的源代码中,您必须继续使用相同的导航方法来跟踪定义,F12否则Ctrl+click 将返回对象浏览器。

于 2013-01-16T09:13:28.107 回答
11

假设在类/方法处于焦点时按 F12 的默认快捷键,您可以将 ReSharper 设置为自动反编译引用。这最终效果很好,就好像外部程序集引用与源解决方案中的任何其他类一样。

在此处输入图像描述

专注于按 F12 时被定向到的源示例new HttpClient()

在此处输入图像描述

于 2017-08-31T17:07:11.153 回答
6

我建议您使用.NET Reflector,它具有内置的 VS 集成来进行程序集反编译,并且比 Resharper 好得多。请查看此页面以获取更多知识。

于 2013-01-15T23:18:44.503 回答
4

http://ilspy.net/是免费和开源的。并有一个 Visual Studio 插件。

于 2016-08-11T19:57:49.767 回答