使用ResourceManager C#从其他项目访问资源文件

时间:2012-03-09 20:04:46

标签: c# visual-studio embedded-resource

我有一个由多个项目组成的Visual Studio解决方案。在其中一个项目中,我有一个语言本地化资源文件。我想使用ResourceManager在不同的项目中的代码中访问此文件。通常,在访问同一项目中的资源文件时,我会使用:

ResourceManager rm = new ResourceManager("Namespace.LanguageLocalization", Assembly.GetExecutingAssembly());

但是,当我在不同的项目中使用相同的代码时,它找不到资源文件。我仔细检查以确保项目使用资源文件引用该项目,并在类顶部的using语句中声明它。

有什么建议吗?

1 个答案:

答案 0 :(得分:9)

ResourceManager构造函数的第二个参数指定包含资源的程序集。 Assembly.GetExecutingAssembly()将无效,因为它会返回其他项目的程序集。而是通过typeof(APublicClassInTheResourceAssembly).Assembly;资源程序集中的任何类都可以。