Visual Studio或Resharper扩展来反编译代码

Log*_* G. 19 .net c# resharper visual-studio

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

Aak*_*shM 26

我知道Resharper也有一个反射工具,但如果你能在VS内开始它会很好.

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

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

请注意,在这样的反编译源中,您必须继续使用相同的导航方法来遵循定义,因为F12或者Ctrl单击将返回到对象浏览器.

  • 如果您没有这样的命令,请确保在ReSharper的Tools/External Sources选项页面中选择除"Default Visual Studio Navigation"项以外的任何内容(如https://www.jetbrains.com/help/resharper/中所述) 2016.1/Navigation_and_Search__Navigate_from_Here__Decompiled_Code.html). (4认同)

Joe*_*ell 24

较新版本的Visual Studio 2017现在包含一个实验性功能,称为导航到反编译源.它要求您明确启用它(并重新启动Visual Studio),但是一旦执行,您可以看到代码引用的程序集的反编译源代码.

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

  • 这应该是新接受的答案。R# 多年来一直在这样做,但现在 VS 终于提供了一个开箱即用的完美可行的替代方案。 (2认同)

Tim*_*lez 7

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

在此输入图像描述

在聚焦时按F12时指向的源示例 new HttpClient()

在此输入图像描述


Tom*_*zzo 6

我建议你使用.NET Reflector,它有一个用于程序集反编译的内置VS集成,远远好于Resharper.请查看此页面以获取更多知识.