有没有办法在另一个程序集中使用资源文件?
Is there a way to use a resource file in the other assembly?
我正在使用 WPFLocalizeExtension 库。
到目前为止,我使用的库如下。
xmlns:lex="http://wpflocalizeextension.codeplex.com"
<Button Content="{lex:Loc key=Yes}"/>
当然,如果 "Yes" 单词在当前程序集中,上面的代码运行良好。
但是这种情况下,我想使用外部程序集的资源,所以我尝试如下。
xmlns:lex="http://wpflocalizeextension.codeplex.com"
lex:ResxLocalizationProvider.DefaultAssembly="ApplicationLayer.Define"
<Button Content="{lex:Loc key=Cancel}"/>
但是上面的代码不起作用。
我想可能是因为当前目录下不存在引用程序集吧
上面文件的路径是“...\Applications\WpfApp\WpfApp”,"ApplicationLayer.Define"(要引用的文件)文件的路径是“...\Applications\ApplicationLayer.定义.
要使用的资源文件在 "ApplicationLayer.Define" 的 Properties 文件夹中,如下所示。
更新
此外,我将 "ApplicationLayer.Define" 程序集引用到 运行 应用程序中,如下所示。
我应该怎么做才能实现我的目标?
有人能告诉我如何解决这个问题吗?
感谢阅读。
我找到了一个不起作用的原因。
以上资源文件名为"Resource.resx"。 (见图像文件)
我将资源文件名更改为 "Resources.resx".
然后一切正常。
也许我认为,这是因为 WpfLocalizeExtension 库找到了要使用的资源的 "Resources.resx" 名称。
感谢您的关注。
我正在使用 WPFLocalizeExtension 库。
到目前为止,我使用的库如下。
xmlns:lex="http://wpflocalizeextension.codeplex.com"
<Button Content="{lex:Loc key=Yes}"/>
当然,如果 "Yes" 单词在当前程序集中,上面的代码运行良好。
但是这种情况下,我想使用外部程序集的资源,所以我尝试如下。
xmlns:lex="http://wpflocalizeextension.codeplex.com"
lex:ResxLocalizationProvider.DefaultAssembly="ApplicationLayer.Define"
<Button Content="{lex:Loc key=Cancel}"/>
但是上面的代码不起作用。
我想可能是因为当前目录下不存在引用程序集吧
上面文件的路径是“...\Applications\WpfApp\WpfApp”,"ApplicationLayer.Define"(要引用的文件)文件的路径是“...\Applications\ApplicationLayer.定义.
要使用的资源文件在 "ApplicationLayer.Define" 的 Properties 文件夹中,如下所示。
更新
此外,我将 "ApplicationLayer.Define" 程序集引用到 运行 应用程序中,如下所示。
我应该怎么做才能实现我的目标?
有人能告诉我如何解决这个问题吗?
感谢阅读。
我找到了一个不起作用的原因。
以上资源文件名为"Resource.resx"。 (见图像文件) 我将资源文件名更改为 "Resources.resx".
然后一切正常。
也许我认为,这是因为 WpfLocalizeExtension 库找到了要使用的资源的 "Resources.resx" 名称。
感谢您的关注。