精华内容
下载资源
问答
  • devexpress 源码

    2018-05-13 20:58:41
    devexpress 17.2.4的source code,包括web,winform等全套
  • DevExpress 源码 官方编译工具
  • DevExpress 源码7.3.5全套

    热门讨论 2011-09-23 15:34:09
    DevExpress 源码7.3.5全套 ----------------------------------- DevExpress.BonusSkins DevExpress.Data DevExpress.Data.Compact DevExpress.Dll DevExpress.OfficeSkins DevExpress.Tutorials DevExpress....
  • 从网上下载了DevExpress源码,但是编译时要用到几个数据连接dll,我从网上下载了他们的安装程序,然后提取了以下几个要用到的dll,其中Microsoft.VisualStudio.DebuggerVisualizers.dll好像不能用。 IBM.Data.DB2....
  • 本篇文章内容包括基础知识(GAC、程序集强签名、友元程序集)、编译过程、...关于编译源码,前前后后折腾了太久,自己折腾,到官网折腾,到DXPER折腾,今天,总算有个结局了 编译环境 工具:Visual Studio 20...

    本篇文章内容包括基础知识(GAC、程序集强签名、友元程序集)、编译过程、注册GAC、添加工具箱、多语言支持、运行时和设计时调试

    源码地址 链接:http://pan.baidu.com/s/1eQm1ZFk 密码:39qw
    关于编译源码,前前后后折腾了太久,自己折腾,到官网折腾,到DXPER折腾,今天,总算有个结局了

     

    编译环境
    工具:Visual Studio 2010
    源码:DXperience source code14.2.3.14339(源码已经整理好,不需要任何改动,解决方案文件放在sln\WinForm\WinForm.sln)
    源码结构
    为了更好地验证最后的编译成果,如果已经安装了DevExpress官方版,请先卸载,编译DevExpress的源码并不依赖于DevExpress官方版的安装。
    编译目标
    1.     将DevExpress中WinForm相关组件全部编译
    2.     编译完成后能手工添加到工具箱
    3.     从工具箱中拖放控件到Form中,设计视图能正常工作,运行时也正常。
    4.     提供多语言支持
    5.     能调试运行时和设计时
    编译基础
    在动手编译之前,先复习一下基础知识
    GAC
    1.      什么是GAC
    GlobalAssembly Cache,全局程序集缓存
    2.      为什么要注册GAC
    注册到GAC中的程序集能被整个系统共享
    3.      如何注册及取消注册
    使用.net framework自带的工具gacutil
    gacutil/i [abc.dll],将当前目录下的abc.dll文件注册到GAC
    如果要注册的文件比较多,可以使用列表文件,后面在DevExpress源码编译完成后,生成的文件比较多,可以使用批量注册,命令为gacutil /il list.txt,其中list.txt的格式如下:
    DevExpress.BonusSkins.v13.2.dll
    DevExpress.Charts.v13.2.Core.dll
    DevExpress.CodeConverter.v13.2.dll
    ……
    每行一个文件名
    取消注册与注册类似,可以参考.net framekwork工具帮助
    程序集强签名
    1.      什么是程序集强签名
    在生成程序集时,指定一个私钥文件(该私钥文件为私有,不会对外公开),经过这样的方式编译后的程序集称为强签名程序集。
    2.      为什么要使用签名
    l  保证生成的程序集唯一性,强签名的程序集都有一个公钥,只有用特定私钥生成的程序集才会有该公钥。
    l  防止程序集被非法篡改,一旦强签名后,程序集内部会保存公钥,加载该程序集时,CLR会验证该公钥,如果被非法篡改,则公钥验证失败,会抛出异常。
    l  未签名的程序集无法注册GAC
    3.      如何使用签名
    l  生成私钥(PS:这个私钥只是演示用,源码中使用的并不是这个私钥)
    使用.net framework工具sn,sn -k MyKey.snk,生成的私钥文件存放在当前目录下的MyKey.snk


    l  查看公钥
    首先将公钥写入文件


    然后再查看公钥

    4.      在VS中指定签名
    在VS中指定签名至少能通过两种方式
    一、 在AssemblyInfo.cs文件中指明签名文件路径

    二、 在工程属性栏中的“签名”标签

    以上两种方式任选其一,第二种方式在VS2005之后才支持,现在DevExpress推荐采用第二种,我们的源码中签名全部采用这种方式。
    5.      DevExpress的签名
    DevExpress公司在发布产品时,使用了私钥对产品进行了强签名,目前只知道其公钥标记为b88d1754d700e49a,如果你的程序加载的程序集公钥为b88d1754d700e49a,则证明使用的是DevExpress公司提供的,而不是其它人提供的
    6.      源码中的签名
    在编译源码前,需要生成我们自己的私钥,生成的私钥放在DevExpress.Key文件中,解决方案中所有的工程都使用该签名,这里可以看一下我们的公钥

    这也就意味着,我们编译出来的程序集公钥标记为94a041a7af35fb7f,其它任何人都无法仿制与篡改。(PS:这个公钥可以到src\DevExpress.Key\key.txt文件中找到)
    友元程序集
    1.      什么是友元程序集
    默 认情况下,程序集里使用internal修饰符,则该类型或成员只能在该程序集内部访问,如果需要让外部也能访问到,这就需要友元程序集。[MSDN]友 元程序集是一种能够访问其它程序集的internal类型和成员的程序集,如果将程序集指定为友元程序集,则不再需要将类型和成员标记为公共,以使其他程 序集可以访问它们
    2.      为什么需要友元程序集
    l  单元测试,测试代码在另一个程序集运行,但需要访问正在测试的程序集internal成员
    l  类库分开在多个程序集中,程序集需要互相访问内部internal成员
    3.      DevExpress中的友元程序集
    DevExpress中很多的基础功能放在DevExpress.Data中,该程序集有很多友元程序集,打开DevExpress.Data下的AssemblyInfo.cs,可以清楚地看到它的友元程序集

    即,在以上这些模块中,可以直接访问DevExpress.Data中的internal类型。
    其它模块的友元程序集与DevExpress.Data类似。
    编译过程
    1.    代码获取
    代码已经全部打包成压缩文件
    2.    修改签名
    私钥已经生成好,工程已经使用该私钥签名,不需要修改。如果想使用自己的签名,需要按照以下步骤:
    一、           使用.net framework自带工具生成一份强签名文件,名称为StrongKey.snk,覆盖src\DevExpress.Key下的同名文件
    二、           打开sln\WinForm\WinForm.sln,在整个解决方案中,替换所有引用公钥标记和公钥的地方

     

    3.    编译
    打开sln\WinForm\WinForm.sln,然后重新生成解决方案
    后续工作
    注册GAC
    生成后的部分文件如下:
    另外Design文件夹中包含了需要设计时支持的程序集,将生成的这些DLL文件注册进GAC中(如何使用列表批量注册,可参考前文),Design中的DLL也要注册。
    工具箱添加
    打开VS,新建一个WinForm项目,打开工具箱,空白处右键,选择“添加选项卡”
    然后自己输入一个名称,这里取名为“DevExpressBuild”,然后右键,选择“选择项”
    在弹出的对话框中选择“浏览“,然后选择GAC中某个DevExpress DLL,这里以ChartControl为例,选择C:\Windows\Microsoft.NET\assembly\GAC_MSIL \DevExpress.XtraCharts.v14.2.UI下的文件夹下的DLL。确定后,能看到工具箱添加成功,如下:
    其它控件工具箱的添加过程类似。(PS:此处有人有疑问,你怎么知道ChartControl放在DevExpress.XtraCharts.v13.2.UI这个DLL文件中,关于具体的控件放在哪个DLL中,DevExpress自带的文档都有详细的说明,请参考)
    成果检验
    至此,DevExpress的编译已经完成,下面来检验编译后的成果。
    还是上面的工程,直接拖放工具箱中的ChartControl到窗体中,终于看到自己编译的成果了
    随便选择一种类型,点击“Finish”,注意看VS中的引用列表
    已经自动为我们引用了所需的DLL,在部署时,只需要将这些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
    关闭并重新打开刚才新建的工程,在刚才创建的ChartControl基础上,创建一个Ribbon,可以看到,界面已经汉化了。
    虽然官方提供的资源汉化率不是100%,但在运行时已经基本能满足要求了。
    源码调试
    运行时调试
    既然通过源码编译的,那么调试应该不是什么大问题了
    例如上面的工程中,我想在运行时,向图表中添加一个点,我想看看这个点的添加过程
    AddPoint事件处理代码只有一句
    在DevExpress.XtraCharts.UI工程中的ChartControl.cs文件中Series
    属性添加断点,如下
    然后调试工程,点击“AddPoint”按钮,命中了断点
    其它的调试都是类似过程。
    设计时调试
    DevExpress 控件对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:此处有人有疑问,你怎么知道点击“关于”后进入这个函数的,实际上, 调试代码前,需要大概了解代码)

     

    三、           开始调试
    F5启动调试,这时会打开另一个VS,在这个新的VS中打开刚才的工程,点击窗体上ChartControl控件右侧小箭头,在弹出的界面中选择“关于”,VS果断命中断点,如下
    实际上官方提供的14.2.3安装版里的ChartControl控件点击“关于”是没有任何反应的,这段代码是我自己加上的,也是起作用的,弹出的对话框如下
    这就是传说中设计时调试,注意,此时应用程序并没有运行起来,这种调试方式对于开发自定义控件非常有用
    Q&A
    Q:工具箱中拖放控件到Form中,没有反应或者提示各种错误
    A:这种情况一般都是因为没有注册生成目录中Design文件夹下的以”.Design.dll”为结尾的文件,要想在VS中对控件进行设计,这些DLL必须注册到GAC
    Q:以.Design.dll为结尾的文件,在部署时,需要拷贝到客户机器上吗?
    A:不需要,这些DLL在运行时不需要
    Q:从工具箱中拖放一个控件到Form中,如何让VS自动引用所需的DLL
    A:将依赖的DLL注册到GAC
    Q:使用源码编译后的程序集还需要破解吗?
    A:不需要,在工程引用中,引用的DLL文件属性中,“复制本地”设置为true,然后将输出目录中的文件进行打包,拷贝到其它机器即可

    转载于:https://www.cnblogs.com/zeroone/p/4818762.html

    展开全文
  • 1 建议最好用官方的编译脚本来编译,因为靠自己一个一个加入工程然后按照一定的顺序的话会把人烦死。官方脚本10.1有个通用的脚本库,反正我从1.3到1.6版本都是用他来编译的(google搜索得到)。...

    1 建议最好用官方的编译脚本来编译,因为靠自己一个一个加入工程然后按照一定的顺序的话会把人烦死。官方脚本10.1有个通用的脚本库,反正我从1.3到1.6版本都是用他来编译的(google搜索得到)。

    2 签名时自己生成,也就是用visual studio自带的sn.exe工具来生成,不需要加啥参数,按照编译指南即可。

    3 define那个脚本文件是需要更改几个地方的:1 针对当前开发使用的工具比如vs2010等 2 vs工具程序所在路径(基路径)这个一般是和你的系统相关,比如我的是win7 32位系统,根本就不是上面所写的带有“(x86)”的文件夹(该文件夹是64位系统为32位软件来存放的)

    4 将build那个主脚本中关于编译compact的那三个工程可以注释掉,因为假如你不用嵌入式开发的话就不需要编译,另外4.0的framework并没有带compact framework,以致无法编译通过。

    5 其他的一些细节我觉得大多数程序员都能自行搞定,也就不赘述了,以上的我觉得是容易被人忽略的。

    转载于:https://www.cnblogs.com/ocean2000/archive/2010/09/19/1830827.html

    展开全文
  • devexpress 12.1.6和谐之后 只能使用控件 源码编译出错 要获得源码是不是只能买正版[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/32.gif][/img]
  • DevExpress源码编译报错解决办法

    千次阅读 2016-02-14 16:16:00
    下载了15.2.4的源码,尝试自己编译dll, Data编译得好好的,然后下一个Printing.Core就出问题了,报错显示无法访问某些变量,查了一下在Data里面是internal的属性,因此在printing.core的程序集里面当然不能访问 ...

    下载了15.2.4的源码,尝试自己编译dll,

    Data编译得好好的,然后下一个Printing.Core就出问题了,报错显示无法访问某些变量,查了一下在Data里面是internal的属性,因此在printing.core的程序集里面当然不能访问

    那别人是怎么编译通过的?网上查了好久都没有结果


    怀疑c#是不是有些方法能让别的程序集访问自己的internal成员的方法,往这个方向搜了一下,终於给我找到原来有样东西叫
    InternalsVisibleTo啊~!!


    进而进一步了解了友元程序集之后(参考https://msdn.microsoft.com/zh-cn/library/0tke9fxk(VS.80).aspx),终於有了解决方法

    1. 在DevExpress.Key下面建立签名文件并提取PublicKey

    • sn -k StrongKey.snk // 生成强名称密钥

    • sn -p StrongKey.snk key.publickey // 将公钥从 key.snk 提取到 key.publickey 中

    • sn -tp key.publickey // 显示存储在文件 key.publickey 中的公钥

    成功的话会看到以下显示



    Microsoft (R) .NET Framework Strong Name Utility  Version 4.0.30319.33440
    Copyright (c) Microsoft Corporation.  All rights reserved.


    Public key (hash algorithm: sha1):
    0024000004800000940000000602000000240000525341310004000001000100bf81bb9ec3d16c
    641309142735998f2e414c794732890bf84b255ba1d7b4b8fd31bd7d8edc6c7f23b907e1c42bf0
    5d13875fc219f6f1a3a572a602cdef30c44a1690db3851102cc50ca73dcc5f902e329345a25386
    b46c604a25bd5f5a7587a6e775caf3c726170ce32dc368ced998c3c192036bf35cb6bd9c5708ba
    3a3ebccb


    Public key token is 14bd271f49fa1e3c


    注意你要复制的是长的public key而不是短的public key token


    2. 在项目中打开AssemblyInfo.cs,找到以下内容

    [assembly: InternalsVisibleTo(AssemblyInfo.SRAssemblyPrintingCore + ", PublicKey=00240000048......

    将PublicKey后面的key字段复制成自己的public key即可,其他的publicKey也一并替换


    3. 打开Printing.Core项目,重新编译生成,成功


    小结:

    写了这么多年的C#,今天才第一次知道友元程序集,但也借此机会见识到了使用DevExpress控件是个很好的学习机会


    参考文献:

    http://blog.csdn.net/jiangzhanchang/article/details/21228091


    展开全文
  • Devexpress 11.2.11源码

    2012-06-04 10:07:36
    Devexpress 11.2.11源码
  • Devexpress 14.2.3源码

    热门讨论 2014-12-18 09:28:08
    Devexpress 14.2.3.14339源码
  • DevExpress 11.2.11源码

    2012-11-14 14:30:49
    DevExpress11.2.11源码 绝对能编译成功,完整版
  • DevExpress 9.3.2 源码

    2011-09-23 16:39:40
    DevExpress 9.3.2 源码 ------------------------ DevExpress.AgControls DevExpress.AgCore DevExpress.AgData DevExpress.AgDataGrid DevExpress.AgEditors DevExpress.AgLayoutControl DevExpress....
  • DevExpress10.1.8源码

    2011-10-31 10:15:20
    DevExpress10.1.8源码,分享出来,大家一起学习
  • Devexpress8.3.5 源码

    2009-03-20 18:14:00
    没有想到在Devexpress9发布之前还发布了Devexpress8.3.5,偶有机会得到源码,特奉献 Devexpress8.3.5 源码part1 http://download.csdn.net/source/1127378 Devexpress8.3.5 源码part2 ...转载于:ht...
    没有想到在Devexpress9发布之前还发布了Devexpress8.3.5,偶有机会得到源码,特奉献
     
    Devexpress8.3.5 源码part1
    Devexpress8.3.5 源码part2

    转载于:https://www.cnblogs.com/manwu2008/archive/2009/03/20/1417918.html

    展开全文
  • devexpress 14.2.3 源码+汉化 有详细的编译说明
  • DevExpress 15.1.3 源码 仅供学习交流,请勿他用
  • DevExpress 15.1.3 源码 仅供学习交流,请勿他用
  • DevExpress 15.1.3 源码 仅供学习交流,请勿他用
  • Devexpress 10.1.4 源码 port02
  • DevExpress 15.1.6 源码 全 百度云

    热门讨论 2015-10-21 20:06:54
    DevExpress 15.1.6 源码 仅供学习交流,请勿他用
  • DevExpress12.2.6源码

    2013-03-16 15:56:47
    下载太麻烦了,不过多介绍,要的自己下。 刚刚下载下来,自己准备周一编译,先上传了。
  • DevExpress VCL 19.1.2 源码

    2020-11-15 08:54:05
    DevExpress VCL 19.1.2 源码,带DxAutoInstaller2.3.1,RAD Studio 10.4自行编译
  • DevExpress 12.2.4 源码 part2 网上转载,仅供研究,勿用于商业用途
  • devexpress48源码-4

    2010-01-26 13:26:33
    devexpress48源码,支持delphi2010
  • devexpress48源码-3

    2010-01-26 13:26:06
    devexpress48源码,支持delphi2010
  • devexpress48源码-2

    2010-01-26 13:18:52
    devexpress48源码,支持delphi2010
  • devexpress48源码-1

    2010-01-26 13:17:59
    devexpress48源码,支持delphi2010
  • DevExpress XtraCharts示例 源码 DevExpress XtraCharts示例 源码
  • 这个是DevExpress18.1的源码,的一半,因为超过了220m的限制,所以分成两个。这个是A,可以先下载这部分再来看要不要下载B。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 638
精华内容 255
关键字:

devexpress源码