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调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...
随机推荐
- MySQL where 表达式
where 条件表达式 对记录进行过滤,如果没有指定where子句,则显示所有记录. 在where表达式中,可以使用MySQL支持的函数或运算符.
- windows下安装node环境,以及grunt试水笔记
grunt,当下前端界知名度最高的工作流处理工具. 在一线的互联网公司,它早已经被用烂了,而我真正接触,是在去年年底... 期间还因为内心太杂分心玩乐而荒废学途,以致到最近才重拾学业,在这里BS一下自 ...
- 修改MyEclipse8.5的workspaces
到MyEclipse8.5的安装目录下 我安装在D盘,路径为:D:\Genuitec\MyEclipse 8.5\configuration\config.ini 打开config.ini文件: ...
- Centos7 ftp服务器搭建
1.使用yum安装ftp服务端: yum install -y vsftpd 2.使用yum安装ftp客户端: yum install -y ftp.x86_64 3.开启ftp服务设置开机启动并查看 ...
- angularjs之UI Grid 的刷新 本地数据源及HTTP数据源
关键代码: 如果数据源是本地数据$("#hidJsonData").val("[]"); var myJsonData = []; if ($(&quo ...
- MVVM 事件转命令1
EventToCommand 在WPF中,并不是所有控件都有Command,例如TextBox,那么当文本改变,我们需要处理一些逻辑,这些逻辑在ViewModel 中,没有Command如何绑定呢?这 ...
- Expression Blend实例中文教程(3) - 布局控件快速入门Grid
上一篇对Blend 3开发界面进行了快速入门介绍,本篇将基于Blend 3介绍Silverlight控件.对于微软开发工具熟悉的朋友,相信您很快就熟悉Blend的开发界面和控件. XAML概述 Sil ...
- git 命令记录贴
记录下最近使用git的场景. 问题 1:将一个完整的项目发布到已创建好的git地址(码云) 执行步奏: 1.配置自己的公钥 2.检查是否连接成功 $ ssh -T git@git.oschina.ne ...
- 用 Redis Desktop Manager 远程连接 redis 数据库。
环境: 本机OS:window 10(本机没有安装redis) redis 服务器:centos 7 使用 Redis Desktop Manager 工具远程连接 redis. Redis Desk ...
- [javaEE] jsp入门
Servlet写java代码很好,但是拼接html的时候,非常不方便 JSP可以在html中嵌套java代码,这样在展示的时候,就会比较方便 Tomcat帮我们把jsp的页面翻译成了Servlet去运 ...