gpt4 book ai didi

localization - CRM 2011,ILMerge 和本地化

转载 作者:行者123 更新时间:2023-12-04 21:49:11 25 4
gpt4 key购买 nike

我在将本地化附属程序集合并到 CRM2011 的插件 DLL 时遇到了一些问题。

要么是这样,要么我不知道之后如何使用合并的资源。

我创建了一些插件并创建了一个基本资源文件(默认 - 英语)和一个针对特定文化的资源文件(在撰写本文时它是针对波兰语本地化的,但稍后我还需要添加法语)。

我确保不要签署程序集本身,因为 ILMerge 将签署完成的程序集本身。

这是我用来合并额外卫星程序集的命令:

ilmerge /targetplatform:v4,C:\Windows\Microsoft.NET\Framework\v4.0.30319 /log:log.txt /keyfile:KeyFile.snk /out:Plugins.dll DynamicsCRM2011.Plugins.dll pl-PL\DynamicsCRM2011.Plugins.resources.dll

如您所见,插件位于 .NET 4.0 中,并且我已获得 ILMerge 所需的 .config 文件以使用所需的程序集进行合并。

生成的文件看起来不错,我可以用 CRM plugin-registrator 注册它,添加新步骤等等。

但是,它将始终使用默认语言。我试过改变 System.Threading.Thread.CurrentThread.UICulture ,但这没有帮助。当我创建一个 ResourceManager类和使用 GetString("ErrorMessage", new System.Globalization.CultureInfo("pl-PL")) , 我收到了 Exception指定的 ResourceManager不知道如何处理指定的文化。

我知道这个问题 here .但是,发布的解决方案似乎是旧的。生成的资源 .cs 文件不使用 ComponentResourceManager .此外,发布在那里的部分代码已被标记为已弃用。

我不确定我现在要做什么,或者如何进一步调试它,因为我在处理程序集本身方面的经验很少。请帮我控制这些附属程序集。

更新:

我已经使用沙箱插件有一段时间了,因此我无法再访问诸如 CurrentCulture 之类的东西。 (或者至少我不能改变这样的事情)。我再次尝试解决这个问题:我创建了一个简单的插件,当保存新帐户时会触发该插件。没有什么花哨。这是实际的插件代码:
        ResourceManager rm = new ResourceManager(typeof(Properties.Resources));
var s = rm.GetString("ErrorAlreadyPosted", new System.Globalization.CultureInfo("pl-PL"));
throw new InvalidPluginExecutionException(s);

代码不再抛出关于无法找到指定文化的异常......而且代码显然在最后抛出异常,但重要的是异常消息是什么。我希望它是波兰语。

唉,事实并非如此。 GetString 返回的字符串仍然是英文。

我用于 ILmerge 的命令与之前相同,但带有 /lib指定参数,这样我就不必复制所有 CRM SDK dll...

最佳答案

显然,不可能从插件的上下文中读取资源。

在 MSDN 上阅读:http://msdn.microsoft.com/en-us/library/hh670609.aspx#BKMK_UseXMLWebResourcesAsLanguageResources

引用:当插件需要本地化文本时,您可以使用 XML Web 资源来存储本地化的字符串,以便插件可以在需要时访问它们。 XML 的结构是您的选择,但您可能希望遵循 ASP.NET 资源 (.resx) 文件使用的结构为每种语言创建单独的 XML Web 资源。例如,以下是一个名为 localizedString.en_US 的 XML Web 资源,它遵循 .resx 文件使用的模式。

到目前为止,这就是我所知道的全部 - 还没有为 crm 插件的本地化构建我自己的解决方案。

关于localization - CRM 2011,ILMerge 和本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8226620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com