我正在尝试反编译库,但是当我点击类名或方法名时,实现代码为空。
例如:
public bool MethodOne(string str)
{
// nothing
}
它可能是什么?
答案 0 :(得分:23)
您可能正在尝试反映Visual Studio使用的参考程序集,以提供多目标支持。这些程序集只是元数据,没有任何实际的实现。
如果是这种情况,你可以使用VSCommands 2010 extension获取实际装配的路径。
assembly details http://vscommands.com/wp-content/uploads/2011/04/image12.png
答案 1 :(得分:2)
您可能已经打开了一个没有代码的参考装配或PIA。
方法体实际上可能是空的。
(其他可能性?)
答案 2 :(得分:2)
我也看过VSSDK程序集。
它可以是公共提供的接口库,但实际的实现在某处“隐藏”。 (也许在GAC?)
基本思路是:
我建议你在调试器中放置一个断点,看看实际加载的程序集是什么以及加载它的位置。
答案 3 :(得分:0)
它使用的是什么版本的.Net框架?对于发生这种情况的.net 4.0程序集似乎存在一些问题......或者论坛中的某些人都在说:Reflector Forum
有没有IL?