有没有办法在另一个程序集中使用资源文件?

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" 名称。

感谢您的关注。