DevExpress源码编译总结 z
本篇文章内容包括基础知识(GAC、程序集强签名、友元程序集)、编译过程、注册GAC、添加工具箱、多语言支持、运行时和设计时调试
关于编译源码,前前后后折腾了太久,自己折腾,到官网折腾,到DXPER折腾,今天,总算有个结局了









认情况下,程序集里使用internal修饰符,则该类型或成员只能在该程序集内部访问,如果需要让外部也能访问到,这就需要友元程序集。[MSDN]友
元程序集是一种能够访问其它程序集的internal类型和成员的程序集,如果将程序集指定为友元程序集,则不再需要将类型和成员标记为公共,以使其他程
序集可以访问它们






DLL,这里以ChartControl为例,选择C:\Windows\Microsoft.NET\assembly\GAC_MSIL
\DevExpress.XtraCharts.v14.2.UI下的文件夹下的DLL。确定后,能看到工具箱添加成功,如下:



果使用的是安装版的DevExpress,可以到官方网站下载所需的资源文件,但是我们是自行编译的,无法直接使用官方提供的强签名的资源文件。这就需要
我们自行编译语言的资源文件了,这个编译也很简单,因为解决方案全部设置好了(如果源码编译时使用了自己的签名,需要将
src\DevExpress.Key\StrongKey.snk拷贝到
dxKB_A421_DXperience_v14.2_(2014-12-16)\DevExpress.Key\下覆盖同名文件),只需要打开
dxKB_A421_DXperience_v14.2_(2014-12-16)\Localization.sln,重新生成,生成的产物路径为
dxKB_A421_DXperience_v14.2_(2014-12-16)\DevExpress.Dll,假如我们需要控件支持汉语,则进入
DevExpress.DLL\zh-CN,将文件夹里面所有的DLL注册进GAC





控件对VS设计时支持得很好,在设计阶段,可以非常直观地设置控件属性。如果想了解DevExpress在设计时做了哪些事情,可以对设计时进行调试。设
计时调试与运行时调试不太一样,设计时调试实际上是使用一个VS调试另一个VS,这里我们举一个例子,我想看看上面这个ChartControl控件在设
计时,点击“关于”时做了哪些事情

首先在工程属性中,选中“调试”标签页,启动操作选择“启动外部程序”,后面的路径选择VS2010所在的路径,默认为C:\Program
Files(x86)\Microsoft Visual Studio
10.0\Common7\IDE\devenv.exe,也即我想调试另外一个VS
一步断点的位置根据自己的需求,本次我们的断点设置在DevExpress.XtraCharts.Design工程中的Designers.cs文件中
的ChartControlDesigner类中的OnAbout方法,如下(PS:此处有人有疑问,你怎么知道点击“关于”后进入这个函数的,实际上,
调试代码前,需要大概了解代码)



DevExpress源码编译总结 z的更多相关文章
- DevExpress源码编译总结
独家提供完整可编译sln文件,本篇文章内容包括基础知识(GAC.程序集强签名.友元程序集).编译过程.注册GAC.添加工具箱.多语言支持.运行时和设计时调试 源码地址 链接:http://pan.b ...
- DevExpress 14.2.3源码编译 z
一.准备 1.准备一台Windows 8.1机器,安装VS2013 2.准备一台Windows 8.1机器,安装VS2010 XP的系统肯定不行,因为有不少的运行库不支持 Windows ...
- Spark1.0.0 源码编译和部署包生成
问题导读:1.如何对Spark1.0.0源码编译?2.如何生成Spark1.0的部署包?3.如何获取包资源? Spark1.0.0的源码编译和部署包生成,其本质只有两种:Maven和SBT,只不过针对 ...
- 基于源码编译安装openssh
最近的,openssl/openssh等相继漏洞的暴露,让暴露在公网的linux.沦陷为肉鸡的正营... 没办法,还是升级版本... 00.openssh简介 OpenSSH 是一组安全远程的连接工 ...
- 日常工作之Zabbix源码编译,兼容mysql5.6
原文链接:http://www.leleblog.top/daily/more?id=6 Zabbix源码编译 环境: centOS7.mysql5.6.21(已存在). 任务简述: 服务器搭建zab ...
- CentOS6.5下搭建LAMP环境(源码编译方式)
CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL) 学习PHP脚本编程语言之前,必须先搭建并熟悉开发环境,开发环境有很多种,例如LAMP ,WAMP,MAMP等.这里我介 ...
- Hadoop-CDH源码编译
* Hadoop-CDH源码编译 这一节我们主要讲解一下根据CDH源码包手动编译的过程,至于为什么要使用CDH,前几节已经说明,那为什么又要自己手动编译,因为CDH的5.3.6对应的Hadoop2.5 ...
- LAMP源码编译
---恢复内容开始--- 1.LAMP源码编译的基础环境 安装组建包:yum groupinstall "Development Tools" "Development ...
- centos7源码编译安装lamp/lnmp
centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...
随机推荐
- python+selenium打开浏览器
Firefox(高版本要安装换火狐驱动,47版本以下可不安装) GoogleChrome(需要安装浏览器的驱动插件,驱动到selenium官网下载,目前该浏览器的驱动只有32位的,所以Google安装 ...
- android中Zing二维码扫描,二维码生成
Android中二维码扫描的最常用库是zxing和zbar,zxing项目地址为https://github.com/zxing/zxing,目前还有多个人在维护.zbar主要用C来写的,对速度有要求 ...
- Comparison of Symbolic Deep Learning Frameworks
http://blog.revolutionanalytics.com/2016/08/deep-learning-part-1.html Deep Learning Part 1: Comparis ...
- 有意思的shader案例
屏幕水波效果 https://blog.csdn.net/puppet_master/article/details/52975666
- 《图解http协议》之HTTPs学习笔记
对于IP协议,并不陌生.TP协议是TCP/IP协议簇中的核心协议,也是TCP/IP的载体.所有的TCP,UDP,ICMP及IGMP数据都以IP数据报格式传输.IP提供不可靠的,无连接的数据传送服务.I ...
- shiro的授权
1.授权的流程 2.三种授权方式 1.编程式:通过写if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject(); if(subject. ...
- BNU 33693——Problemsetting——————【枚举+最大流】
Problemsetting Time Limit: 5000ms Memory Limit: 131072KB 64-bit integer IO format: %lld Java cl ...
- Firebird execute block 批处理
火鸟的批处理,效率好高,使用简单. execute block as declare variable i ; begin ) do begin :i = :i + ; insert into m_u ...
- sql 递归 STUFF
select distinct fm_id, ,,'') AS SO_Nums from [dbo].[t_BADItems] its 表内一对多 的关系查询
- JS实现单链表、单循环链表
链表 链表是一种物理存储单元上非线性.非连续性的数据结构(它在数据逻辑上是线性的),它的每个节点由两个域组成:数据域和指针域.数据域中存储实际数据,指针域则存储着指针信息,指向链表中的下一个元素或者上 ...