然而,在Debug/Release输出目录中默认有de、es、ja、ru(德语、西班牙语、日语和俄语)多国语言包,在不需要本地化的非国际项目中,这些文件是多余的。那么,如何才能解决多国语言包的问题呢?下面通过问题形式回答。 问题:直接移除对程序有无影响?答案:如果程序没有配置这些语言,是可以移除的。问题:如何移除?答案:方案A 设置DevExpress组件复制到本地的属性为False,这是最简单的方法,但是设置后就不会复制DevExpress动态库到输出目录。
方案B 如果DevExpress组件复制到本地的属性必须为True,可以从DevExpress安装目录直接删除多国语言包的文件夹,这样Visual Studio生成编译文件时就复制不到多国语言包了,这个方案的缺点是更新或重装DevExpress需要再删。另外,如果需要删除GAC中的相关程序集,可以写一个脚本来自动执行移除。DevExpress开发也提供了一个的小工具SatelliteAssembliesManagerTool.exe可以更方便快捷完全移除GAC中的相关程序集,可以到原文(下面第2链接)去下载。
方案C是利用Visual Studio的ClickOnce提供的本地化的配置发布部署方案管控多国语言包打包。这样的话,可以把多国语言包是否发布通过流程管控进来。如果需要发布多国语言的,可以考虑这个方案。 总结:如果项目不是已经使用Visual Studio提供的发布部署办法的前提的话,方案B从安装中删除这些文件一次(手动或通过简单的脚本)比较快捷有效。方案C需要更多额外的时间。方案C更适合流程严格一些及需要特定本地化部署的发布团队,通过配置把文件交付的控制权在自己手里。
翻译来源:https://www.devexpress.com/Support/Center/Question/Details/S139050/how-do-i-manage-localization-assemblies-for-predefined-cultures-de-es-ja-ru-etc-whenhttps://www.devexpress.com/Support/Center/Question/Details/T106705/how-to-manage-satellite-assemblies-located-in-gachttps://docs.microsoft.com/zh-cn/visualstudio/deployment/how-to-change-the-publish-language-for-a-clickonce-application?view=vs-2015