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

时间:2013-01-15 23:10:59

标签: c# .net visual-studio resharper

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

5 个答案:

答案 0 :(得分:21)

  

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

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

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

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

答案 1 :(得分:15)

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

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

答案 2 :(得分:7)

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

enter image description here

在关注new HttpClient()

时按F12时指向的源示例

enter image description here

答案 3 :(得分:6)

我建议你使用具有内置VS集成的.NET Reflector来进行程序集反编译,并且远远好于Resharper。请查看this page以获取更多知识。

答案 4 :(得分:2)

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