惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
A
About on SuperTechFans
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
博客园 - Franky
D
Docker
Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Last Week in AI
Last Week in AI
U
Unit 42
F
Fortinet All Blogs
H
Help Net Security
Blog — PlanetScale
Blog — PlanetScale
Microsoft Azure Blog
Microsoft Azure Blog
罗磊的独立博客
P
Proofpoint News Feed
月光博客
月光博客
G
Google Developers Blog

博客园 - yoyolion

设置vs2005输出目录,提高PDA模拟器程序调试速度 svn1.5.0.13366可用下载地址 svn权限文件的注意事项 只允许修改自己的svn日志的钩子脚本 MySQL导出和导入SQL脚本 becky邮件客户端163邮箱设置 在Total command中显示Tortoise svn叠置图标的方法 头文件被修改导致一个难以理解、难以调试的错误 使用vs2005创建智能设备的C#和C++混合项目 .NET Compact Framework使用P/Invoke服务 vs2005的可再分发组件的路径 NoteExpress PubMed 导入过滤器修正 关于系统U盘和未来5-10年电脑硬件发展的一点想法 GPRS上网打开普通页面的流量 MapInfo2007年用户大会参会记录 使用GPRS的cmwap接入点实现网络通讯1-----建立连接 关于GPRS(cmnet、cmwap)和CDMA 1X的比较及最优方案 判断目录是否存在 解决UNICODE字符集下CStuioFile无法写入中文
使用Lutz Roeder’s .NET Reflector反编译.NET Compact Framew...
yoyolion · 2007-07-01 · via 博客园 - yoyolion

使用.NET Reflector(5.0.25)直接反编译.NET Compact Framework程序集System.Windows.Forms.dll时发现反编译的结果是只有方法的签名而没有实现,如下图:

反复几次测试后发现问题在于没有选择正确的程序集进行反编译,我选择System.Windows.Forms.dll来自C:\Program Files\Microsoft.NET\SDK\CompactFramework

\v2.0\WindowsCE\System.Windows.Forms.dll,这也是.NET CF  Pocket PC 2003项目默认引用的程序集的路径。对这个程序集进行反编译的结果是只有方法的签名而没有实现。但对C:\Program Files\Microsoft.NET\SDK\CompactFramework\v2.0\Debugger\BCL\System.

Windows.Forms.dll进行反编译后得到了想要的结果,方法中有实现代码:

因此想要反编译查看.NET CF程序集时必须要注意需要要反编译正确的程序集。定位到可以反编译出实现代码的程序集有一个快捷的办法,从Reflector程序中选择File->Open List,再点击Add添加一个程序集列表,然后双击新添加的列表,从当前的程序集列表中选择.NET Compact Framework 2.0作为新的程序集列表,这样就可以快速定位到反编译出实现代码的程序集。

为什么.NET CF同一个程序集具有版本的差别,而且反编译的结果不相同?希望知道的网友告诉一下。