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会自动按操作系统的区域选项来识别,除非要手动切换到其它语言或要做多语言版本才有必要;

  • 相关阅读:
    win10 uwp 弹起键盘不隐藏界面元素
    win10 uwp 存放网络图片到本地
    win10 uwp 存放网络图片到本地
    sublime Text 正则替换
    sublime Text 正则替换
    win10 uwp 绘图 Line 控件使用
    win10 uwp 绘图 Line 控件使用
    AJAX 是什么?
    什么是 PHP SimpleXML?
    PHP XML DOM:DOM 是什么?
  • 原文地址:https://www.cnblogs.com/wordgao/p/4502154.html
Copyright © 2011-2022 走看看