zoukankan      html  css  js  c++  java
  • DXperience重编译汉化的方法

     

    1、 必须有DXperience相应版本的全部源代码SourceCode。把全部源代码复制到Program FilesDeveloper Express .NET vX.XSources目录。目标目录的默认位置是在C:Program FilesDeveloper Express .NET vX.XSources(其中X.X为应替换相应的版本号,以下不再重复说明)。
    2、 必须创建一个强名称的文件。要创建此文件,必须执行下面的命令建立你自己的密钥:sn -k StrongKey.snk并且复制新生成的强命名密钥StrongKey.snk文件到Sources目录下的 Devexpress.Key 目录。该强名称Sn.exe工具位于Program FilesMicrosoftVisual Studio 8SDKv2.0Bin目录。
    提取导出公钥命令为:sn -p StrongKey.snk key.txt ;显示公钥命令为:sn -tp key.txt 或 sn -Tp StrongKey.snk 。 
    3、 解压编译脚本。将下载的相应版本的编译脚本压缩包解压,然后将所有文件(不包括子目录
    PatchInternalVisibleTo)复制到DXperience安装目录的Sources子目录下。
    4、 如果重编译后要恢复原来官方的assembly请运行clear.bat ,然后在修复模式重新安装DXperience。
    5、 在记事本中打开defines.bat。如果在Visual Studio 2005中,将vsver = vs2008改为:vsver = vs2005 。
    6、 运行clear.bat删除全局缓存中试用版的程序集DLL 。如果assembly已被锁定,请关闭所有正在运行的应用程序并重新启动IIS Admin服务,重新运行clear.bat 。
    7、 运行buildall.cmd重新生成正式版的程序集DLL。编译时可能会显示一些黄色的警告(warning),不用担心,不会出现错误(error)的。
    8、 重新生成工具箱选项卡。点击 开始菜单 -> 所有程序 -> Developer Express .NET vX.X -> Tools -> ToolboxCreator后先删除试用版的VS2005/VS2008工具箱选项卡,并重新生成正式版的VS2005/VS2008工具箱选项卡。
    9、 从PublicKeyToken.txt(PublicKeyToken.txt文本文件是前面步骤编译时自动生成的,记录了公钥标记,在源码目录Sources下用新的公钥重新编译DevExpress .*的assembly 。参见下图:
    10、 通过DXperience提供的项目转换器ProjectConverter升级原有的应用程序有三种方法:
    1)、如果你一直使用正式版,则使用其提供的工具ProjectConverter,指定应用程序的目录然后升级即可。具体方法为:执行 开始 -> 所有程序 -> Developer Express .NET vX.X -> Tools -> ProjectConverter在弹出的对话框中选择VS项目文件所在的路径并去掉创建备份文件的勾然后按Upgrade就行了ProjectConverter会将项目中所有对老版本DXperience程序集的引用转换为新版本。
    2)、如果你使用的是重新编译版,请找到编译版的公匙,用以下命令升级:
    RUN 命令:
    "C:Program FilesDeveloper Express .NET vX.XToolsDXperienceProjectConverter.exe" /s /k:公匙 "your_project_directory"
    "C:Program FilesDeveloper Express .NET vX.XToolsDXperienceProjectConverter.exe" /s /k:
    49d90c14d24271b5 "<your_project_directory>"
    3)、最原始的方法是在工程中移除所有DEV控件的引用,然后重新添加即可。
    11、 在DXperience的源代码中,你会发现Dev已经把各种资源放在了一个叫做LocalizationRes.resx的资源文件里面。该资源位于C:Program FilesDeveloper Express .NET vX.XSources路径下各相应目录下。
    1.         把LocalizationRes.resx文件拷贝一份到你自己的某个目录下,重命名为你需要的culture,比如要本地化为德文的话,就更名为"LocalizationRes.de.resx",当然我们需要的是中文,于是把它更名为LocalizationRes.zh-CHS.resx。窗体或用户控件也都用一个resx文件,同样可以使用这种方式汉化。
    2.         现在我们可以借助VS开发环境对这个文件进行汉化了,如下图所示:
    3.         现在我们需要借助资源文件生成器Resgen.exe把这个文件转化为一个resources文件。该文件位于E:Program FilesMicrosoft Visual Studio 8SDKv2.0Bin目录中。
    resgen LocalizationRes.zh-CHS.resx LocalizationRes.zh-CHS.resources。
    4. 把这个资源文件打包到卫星配件中去,仍然使用VS提供的一个小工具程序集链接器--Al.exe。下面的命令行就是把LocalizationRes.zh-CHS.resources文件打包成卫星配件了。al /out:DevExpress.XtraEditors.Resources.Dll /v:0.0.0.0 /culture: zh-CHS /embed:LocalizationRes.zh-CHS.resources,DevExpress.XtraEditors.LocalizationRes.zh-CHS.resources /keyfile:strongkey.snk。上面各种参数就不赘述了。需要注意的是keyfile对应的strongkey必须跟DevExpress相应组件指定的strongkey一致。通过al命令也可以把多个resources文件打包成一个单一的配件。如下面这条命令把多种资源打包成配件。
    %al% /out:..zh-CHSDevExpress.XtraPrinting.%VER_DLL%.Resources.dll /v:%VER_PSYS% /culture:zh-CHS /embed:ComponentEditorForm.zh-CHS.resources,DevExpress.XtraPrinting.ComponentEditorForm.zh-CHS.resources
    /embed:LocalizationRes.zh-CHS.resources,LocalizationRes.zh-CHS.resources /embed:HeaderFooterForm.zh-CHS.resources,DevExpress.XtraPrinting.Native.WinControls.HeaderFooterForm.zh-CHS.resources /embed:WatermarkEditorForm.zh-CHS.resources,DevExpress.XtraPrinting.Native.WinControls.WatermarkEditorForm.zh-CHS.resources/keyfile:%KEYFILE%
    通过这里大家可以看出,已经把几个窗体的资源也打进来了,不过需要注意的是/embed里的第二个参数要加上窗体或控件所在的命名空间。
    现在卫星配件已经制作出来了,现在需要把它配置到一个地方以便Framework能够找到它。通常有两种方法,一种是直接把它放到GAC(Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly)中,方便省事;另一种是把它们放到具体的程序目录下。
    要放到GAC里面,简单的方法就是直接把卫星配件拖放到"Windowsassembly"目录下,也可以使用Microsoft提供的工具gacutil,使用如下命令:
    gacutil /i:LocalizerRes.zh-CHS.resources.dll
    如果不放到GAC中,那就放在你的程序的所在目录下(参见利用官方汉化资源的方法)。
    利用官方汉化资源的方法:
    1、        static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CHS");      //增加此行代码
                Application.Run(new Form1());
            }
    2、将汉化官方汉化资源包中的zh-CN和zh-CNS两个目录复制到你的程序目录下(参见下图):
    评估版下载地址http://www.devexpress.com/Downloads/NET/
    编译脚本http://www.devexpress.com/Support/Center/KB/p/A609.aspx
    官方卫星化资源http://www.devexpress.com/Support/Center/KB/p/A609.aspx
    官方汉化资源http://www.devexpress.com/Support/Center/KB/p/A421.aspx
    默认路径为 D:Program FilesDeveloper Express .NET v8.3ToolsDXperience>
    出处:http://blog.csdn.net/sqyfzx/archive/2009/04/17/4086232.aspx

    static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CHS");      //增加此行代码
                Application.Run(new Form1());
            }
    其实上面这一段可以不用加的,.NET会自动按操作系统的区域选项来识别,除非要手动切换到其它语言或要做多语言版本才有必要;

  • 相关阅读:
    初心,勇敢~
    京东云,100倍故障时长赔付,呵呵
    京东万象数据接口,钱没花完,接口404,客服是白痴,无法维权
    随便写点
    关于UltraEdit的两个小问题
    Java
    2016年12月12日 回忆录随笔----------记录庸碌无为的一年四个月零十一天(一)
    iOS开发学习笔记
    sprintf函数php的详细使用方法
    BMS开发日记
  • 原文地址:https://www.cnblogs.com/wordgao/p/4502154.html
Copyright © 2011-2022 走看看