• 关于Devexpress 12.1.x.x如何汉化


    原始地址: http://blog.csdn.net/giselite/article/details/7944600

        Devexpress使用强名称编译生成强名称程序集来确保其程序集不被篡改,强名称程序集使用程序名称、版本号、语言和公钥标识做标记,强名称程序集只能加载强名称程序集,加载过程中如果以上四者中的任意一项对不上,就会加载失败。关于更详细的强名称程序集的知识,请参考:http://blog.csdn.net/nic7968/article/details/5979972


    小知识:
    对于.net程序是否加载成功以及加载了哪些位置的dll,可以使用.net sdk工具FUSLOGVW.exe来查看,使用方法是先打开FUSLOGVW.exe,然后启动.net程序,之后点击FUSLOGVW.exe界面上的刷新即可看到程序加载信息。FUSLOGVW.exe位于"C:Program FilesMicrosoft SDKsWindowsv6.0Ain"目录下。

          通常使程序支持多国语言,是通过更改窗体的Localization属性,然后依次将Language属性设置为要支持的语言,并修改相应的菜单、图片等资源。这样,如果设置了支持“中文(中华人名共和国)”就会在编译输出目录下生成一个zh-CN的目录,该目录下放置了所有中文资源的编译结果。因此对于DXperience程序集的汉化,方式也是一样的,只需要将DXperience相应的语言程序集拷贝到你的程序集(exe文件所在目录)目录下即可。

          网上下载到的dxKB_A421_DXperience_vxx.x_(xxxx-xx-xx).zip包中是DXperience支持多语言的附属程序源码,其中的DevExpress.DLL目录下是已经编译好的资源文件,因此要汉化自己的Dev程序,除了设置自己程序的多语言属性外就是在发行时将DevExpress.DLL目录下相应的语言文件夹拷贝到自己的程序集中去。当然如果要想DevExpress在开发时也能够被汉化,那么最简单的办法就是将DevExpress.DLL中的中文语言包安装到Windows的强名称程序集缓存目录下(注意,拷贝到Dev的安装目录下是没有用的),该目录为C:WINDOWSassembly,直接拷贝是拷贝不进去,要使用gacutil.exe命令才能安装。gacutil.exe也是.net sdk的工具,位于"C:Program FilesMicrosoft SDKsWindowsv6.0Ain"目录下,使用命令格式形如:gacutil -i DevExpress.Data.v12.1.resources.dll。对于解压得到的DevExpress.DLL目录,里面已经有一个批处理文件gacinstall.cmd,好心人已经写好了安装命令,只需要启动dos,使用gacinstall zh-CN即可将中文汉化程序集安装到Windows的强名称程序集缓存目录下了。

          对于Dev论坛里的"The collection of localized DevExpress assemblies",以及"How to: Localize DevExpress WinForms Controls Using Satellite Assemblies",两篇,说了很多,但是没有告诉读者关键点,那就是执行一下gacinstall zh-CN即可。很简单的事,但是因为介绍的太多了,反而引起误导,比如看到介绍Dev安装目录SourcesDevExpress.Key下关于使用sn -k StrongKey.snk生成强密钥文件,然后编译资源文件的说明,很多人可能都像我一样很兴奋的立即去编译了,但是实际上编译了1下午等你编译完时,你才发现你编译的这些资源文件都会加载失败,原因就在于人家dev使用的是强名称程序集,你自己使用自己的密钥文件编译了资源,该编译结果只能用于使用相同的密钥文件编译的dev控件集。因为在"The collection of localized DevExpress assemblies"里有一句话,"Satellite assemblies must be signed with the same strong key token as the main DevExpress.~ assemblies. We don't distribute our key file - it's our signature. Therefore, you will also need to rebuild the main DevExpress.~ assemblies as well if you want to compile resource files yourself. ",相信很多人都会像我一样,没有看清人家实际上表达的意思是“如果你使用自己的密钥文件编译附属程序集,你还得使用该密钥文件编译dev程序集”,误导之处就在于它没有明确告诉你这个是在你有人家dev的源代码的情况下才能这样做的。

        当然如果拥有了Dev的源代码,那么下面的用于编译附属资源文件的步骤就可以用上了:

        1.在DXperience的安装目录下,找到Sources目录,在DevExpress.Key下有一个说明,告诉你如何生成密钥文件,按照说明,使用Visual studio的sdk工具,生成密钥文件,命令为:sn -k StrongKey.snk
        2.解压附属程序集源代码,一般v12.1.x可以用于任何v12.1版本,如果是其他版本,到网上查找相应的资源代码。加压后,在其中新建一个名为DevExpress.Key目录,把第一步生成的StrongKey.snk文件拷贝到这个目录下。
        3.打开Localization.sln工程,编译,所有的附属程序集会被重新编译,编译结果都在DevExpress.DLL目录下。

    参考网站:
    http://documentation.devexpress.com/#WindowsForms/CustomDocument5755

    http://www.devexpress.com/Support/Center/KB/p/A421.aspx


    以下信息来源于"DXperience 12.1.6 Universal 官方下载+帮助+注册插件+语言包+更新内容",网址:http://download.csdn.net/detail/htp111111sinacom/4509928

    安装包
    DXperience Installer (204 Mb)
    http://downloads.devexpress.com/5b3f543d-2a63-4ab6-95ee-2cf2935d58ad/0.0.0.0/DXperience/2012.1/6/DXperience-12.1.6.exe

    帮助文档
    .NET Documentation Installer (563 Mb)
    for VS2010
    http://downloads.devexpress.com/91f3fb0f-0ad3-42d0-a19c-c0392e27f0fe/0.0.0.0/DXperience/2012.1/Help/DXperienceHelp2010-12.1.6.exe

    .NET Documentation Installer (472 Mb) for VS2008

    http://downloads.devexpress.com/7944658e-45c8-4e1a-9ac7-e60bb574718e/0.0.0.0/DXperience/2012.1/Help/DXperienceHelp2008-12.1.6.exe

    破解插件
    http://kuai.xunlei.com/d/BDJLGJWDUERW

    语言包
    http://www.devexpress.com/Support/Center/KB/p/A421.aspx
    http://www.devexpress.com/Support/Center/p/K18427.aspx
    http://www.devexpress.com/Support/Center/p/K421.aspx

  • 相关阅读:
    COJ979 WZJ的数据结构(负二十一)
    COJ980 WZJ的数据结构(负二十)
    奇怪的错误
    COJ883 工艺品
    COJ885 LCS???
    COJ559 回文
    hdu1505(dp求最大子矩阵)
    hdu1506(dp求最大子矩阵)
    hdu2569(递推dp)
    hdu1081(最大子矩阵)
  • 原文地址:https://www.cnblogs.com/ful1021/p/4804401.html
Copyright © 2020-2023  润新知