Reflector不显示类实现

时间:2009-11-20 21:32:10

标签: .net reflector

我正在尝试反编译库,但是当我点击类名或方法名时,实现代码为空。

例如:

public bool MethodOne(string str)
{
    // nothing
}

它可能是什么?

4 个答案:

答案 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?)

基本思路是:

  1. 针对某些“存根”程序集编译代码
  2. 在应用程序中加载时,存根程序集未解析,但实际的
  3. 我建议你在调试器中放置一个断点,看看实际加载的程序集是什么以及加载它的位置。

答案 3 :(得分:0)

它使用的是什么版本的.Net框架?对于发生这种情况的.net 4.0程序集似乎存在一些问题......或者论坛中的某些人都在说:Reflector Forum

有没有IL?

相关问题