I am in my free trial period and am wondering why I cannot see the code of some methods in some assemblies. For example,
Public Overridable Property FormatString As <MarshalAs(UnmanagedType.BStr)> String
    <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _
    Get
    <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _
    Set(<[In], MarshalAs(UnmanagedType.BStr)> ByVal str As String)
End Property

There is no option to expand methods. Everything seems to be working as expected for some assemblies, but not others.

Thanks for your help! I love the potential this product has in helping me debug some difficult situations!
ilyclem
0

Comments

4 comments

  • Clive Tong
    This is the effect you see if you are looking at the "Reference Assemblies" (which are used by the compiler and contain no IL) instead of the real assemblies.

    File/Open Cache is useful for finding the real assemblies in order to see the decompiled code.
    Clive Tong
    0
  • ilyclem
    I tried that when I read it in another forum post. I get the same results.

    I don't know nearly as much about assemblies as I should. How can you tell the difference between a reference assembly and the real one? By using File/Open Cache, does this only let you open a real one?
    ilyclem
    0
  • haleyjason
    It looks to me that you have hit the gateway to the unmanaged code ... meaning that property calls into unmanaged code - so there is no IL to decompile from that point. Reflector won't jump into the unmanaged code and decompile it.

    Could be a few reasons that I can think of:
    1. the assembly that holds the implementation has been NGen'd
    2. the code is calling into the CLR (which is unmanaged)
    3. the code is a RCW (runtime callable wrapper) which is a proxy for a COM object (which is unmanaged)
    haleyjason
    0
  • ilyclem
    That is what I was afraid of. It's got to be #3. I don't understand COM as much as I should either so I wasn't sure what limitations there were. Thanks for the explanation!
    ilyclem
    0

Add comment

Please sign in to leave a comment.