2012-03-09 54 views
2

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

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

然而,当我使用在不同的项目相同的代码,它无法找到资源文件。我再次检查以确保此项目由资源文件引用,并在类顶部的using语句中声明该项目。

有什么建议吗?

+0

重复[http://stackoverflow.com/questions/2771130/read-resources-from-a-dll-file](http://stackoverflow.com/questions/2771130/read-resources-from-a -dll文件)? – 2012-03-09 20:11:46

+0

这略有不同,并包含有用的代码示例。 – 2012-03-09 20:23:54

回答

7

构造函数ResourceManager的第二个参数指定包含资源的程序集。 Assembly.GetExecutingAssembly()将不起作用,因为它会返回您的其他项目的程序集。相反,通过typeof(APublicClassInTheResourceAssembly).Assembly;资源程序集中的任何类都会执行。