.net Compact Framework 上的 ILSpy

ILSpy on .net Compact Framework

在 ILSpy 版本 2.3.1.1855 中,我正在尝试反编译 System.dll(以解决 HttpWebRequest 的问题)。此 dll 在 C:\Program Files (x86)\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE 中。我得到了类型和成员的列表,但没有代码。相反,此异常显示在 ILSpy 代码中 window:

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Net.WebResponse System.Net.WebRequest::GetResponse() ---> System.OverflowException: Array dimensions exceeded supported range. at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackSlot.ModifyStack(StackSlot[] stack, Int32 popCount, Int32 pushCount, ByteCode pushDefinition) at ICSharpCode.Decompiler.ILAst.ILAstBuilder.StackAnalysis(MethodDefinition methodDef) at ICSharpCode.Decompiler.ILAst.ILAstBuilder.Build(MethodDefinition methodDef, Boolean optimize, DecompilerContext context) at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters) at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable`1 parameters) --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDefinition methodDef, DecompilerContext context, IEnumerable`1 parameters) at ICSharpCode.Decompiler.Ast.AstBuilder.CreateMethod(MethodDefinition methodDef) at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethod(MethodDefinition method) at ICSharpCode.ILSpy.CSharpLanguage.DecompileMethod(MethodDefinition method, ITextOutput output, DecompilationOptions options) at ICSharpCode.ILSpy.TextView.DecompilerTextView.DecompileNodes(DecompilationContext context, ITextOutput textOutput) at ICSharpCode.ILSpy.TextView.DecompilerTextView.<>c__DisplayClass16.b__15()

有什么提示吗?

那些只是存根。您需要反编译实际的 BCL 库,例如:

C:\Program Files (x86)\Microsoft.NET\SDK\CompactFramework\v3.5\Debugger\BCL\System.dll