下载.Net 4源码
DataGrid枚举值更新错误的原因
OpenExpressApp之前使用了DataGrid来作为列表控件,在内置支持的属性编辑方式中介绍了枚举类型的使用,之前在.Net35下都是好的,一切正常,但是前一阵子OpenExpressApp升级到了.Net4了,对于枚举属性的列表控件编辑时会出现错误,更新一个枚举值后,控件显示有错误,如下所示:
查看堆栈,发现只能看到一个代码段,其余的都是.Net Framework内部的代码,看了代码方法,但是不太明白,我想最好的办法就是查看代码了,以前都是用Reflector查看代码,但是那只是静态的看 代码,想起在VS2008下可以查看.Net Framework源码,我何不在VS2010下试试呢,于是开始去找Net4源码。
下载.Net 4源码
在 http://referencesource.microsoft.com/netframework.aspx 中选择.Net4下载
准备调试
网上介绍了一些调试框架代码的设置,我试了一下,但是都会去服务器下载,试过多个方法后,最终按照如下方法进行可以顺利的进行调试
- 安装后只有两个目录【Source】和【Symbols】
- 配置Option,去除【Enable Just My Code】,记住也不要设置【Enable .Net Framework source stepping】(否则允许后总会去服务器下载pdb文件)
- 配置Debug/Symbols(根据自己安装路径设置)
- 拷贝pdb到【Symbols\Cache\MicrosoftPublicSymbols】目录。我之前试验时发现下载的pdf会放到【MicrosoftPublicSymbols】目录,所以我们需要把安装路径下的pdb文件都拷贝到这个目录
调试代码
- 运行代码,开始调试,记住只能通过Call Stack设置断点
- 一步一步Step into调试后,发现事故发生地
public class EnumConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){return new EnumViewModel((Enum)value).Label;}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){ return null; //这句话错误,没有返回正确的值 }}修改代码如下:
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){return EnumViewModel.LabelToEnum(value.ToString(), targetType);}
回顾
- 多实验,找到可能性
- 通过.Net Source能够方便调试和定位bug
欢迎转载,转载请注明:转载自周金根 [ http://zhoujg.cnblogs.com/ ]
下载.Net 4源码相关推荐
- 在Ubuntu 14.04 64bit上下载更新x265源码
x264,x265,vpx这三个开源的视频编码器可以说是当今"最火"的视频编码器.x264现在占据着H.264视频编码器的半壁江山:x265则是目前实现H.265标准最好的开源视频 ...
- Asp.Net Web Api 2 实现多文件打包并下载文件示例源码
前言 最近由于工作和个人事务,站点也好久没更新了,但这并不影响我对.NET的热情.站点的更新工作还是得想办法抽时间来完成的. 提要 今天利用中午的时间来写一篇关于Asp.Net Web Api下载文件 ...
- [HOW TO]-下载android官方源码
介绍下载android官方源码的方式: 使用每月更新的初始化包 传统初始化方法 1.使用每月更新的初始化包 下载初始化包->repo sync wget -c https://mirrors.t ...
- Linux下载安装一个源码包
下载一个安装包除了yum和rpm之外我们还可以下载源码包 编译并安装 首先下载所有的源码包一定要去官网,为了就是防止源码包被第三方编译 例如我们今天安装一个httpd的源码包,也就是经常说的apach ...
- 使用代理下载android系统源码和SDK
** 使用代理下载android系统源码和SDK ** 谷歌被墙后,如何下载android源码和sdk?使用代理.步骤如下: 寻找可用代理 先在这里找一个可用的代理服务器:http://www.xic ...
- Maven引入依赖后自动下载并关联源码(Source)
http://justke123.iteye.com/blog/981627 好多用 Maven 的时候会遇到这样一个棘手的问题: 就是添加依赖后由于没有下载并关联源码,导致自动提示无法出现正确的方法 ...
- 一个下载Google code源码的 绿色、迷你工具 MiniSVN v1.0
一个下载Google code源码的 绿色.迷你工具 MiniSVN v1.0 想下载Google code中的源码 不需要装各种软件,只需要一个小工具即可! 如何使用? 访问一个谷歌开源项目网站,比 ...
- PHP付费资源下载交易平台网站源码
简介: PHP付费资源下载交易平台网站源码可用于虚拟商品出售 安装搭建介绍: 环境:PHP5.3,MYSQL 数据库配置修改文件:\data\config.php 后台:域名/admin 账号:adm ...
- 下载android平台源码
我在寻找下载android平台源码时发现了几种方法,有的方法已经失效,现在把测试成功的下载方法写下来: 1,环境要求 需要在linux环境下下载.我选用的是ubuntu 我在安装完ubuntu时报错& ...
最新文章
- Nginx 301与302配置
- C++cycle sort循环排序的实现算法(附完整源码)
- 一位经验丰富的程序员如何建立网络初创企业?
- jQuery进行DOM操作记录
- Node.js抓取网页信息并展示(cheerio网络爬虫)
- python语法学习_python语法学习笔记
- Spacecom:将和信威集团在30天内决定新的收购协议
- php url编码解码
- Qt开发之路——SogouInput\Components\ Error - RtlWerpReportException failed with status code :-107374182
- 最优算法-LQR-离散时间有限边界
- easyui filebox 上传类型控制
- STL 自定义sort 前缀和差分练习
- 关乎未来40年企业生存,这些食品饮料巨头都在干这件事儿! | 商研局 Cool Business...
- 意法半导体终于拥抱Cortex-A架构发布STM32MP1 MPU
- Jetson Xavier NX系统安装至 nvme 硬盘
- golang使用技巧与易错点总结
- RGB与YCbCr颜色空间的转换
- 合成大西瓜html源码,合成大西瓜
- 我国成功研制EB级云存储系统:可满足大数据量存储落地需求
- 【并发编程的艺术】并发机制原理
热门文章
- android:怎样用一天时间,写出“飞机大战”这种游戏!(无框架-SurfaceView绘制)...
- setting.xml的mirror、mirrorOf和pom.xml的repositories、repository的关系关联*
- 《从零开始学Swift》学习笔记(Day 65)——Cocoa Touch设计模式及应用之选择器
- 升级 Java 编程规范的6个约定
- (转载)IE 浏览器的创新
- 重新整理Cellset转Datatable
- 论学好Linux系统的超级重要性
- 解决由于DNS解析导致Emacs启动巨慢的问题
- 字符设备之register_chrdev与register_chrdev_region
- Flash Builder 4快速入门----学习笔记