我有一个由多个项目组成的Visual Studio解决方案。在其中一个项目中,我有一个语言本地化资源文件。我想使用ResourceManager在不同的项目中的代码中访问此文件。通常,在访问同一项目中的资源文件时,我会使用:
ResourceManager rm = new ResourceManager("Namespace.LanguageLocalization", Assembly.GetExecutingAssembly());
但是,当我在不同的项目中使用相同的代码时,它找不到资源文件。我仔细检查以确保项目使用资源文件引用该项目,并在类顶部的using语句中声明它。
有什么建议吗?
答案 0 :(得分:9)
ResourceManager
构造函数的第二个参数指定包含资源的程序集。 Assembly.GetExecutingAssembly()
将无效,因为它会返回其他项目的程序集。而是通过typeof(APublicClassInTheResourceAssembly).Assembly
;资源程序集中的任何类都可以。