从另一个项目/程序集访问resx文件

我在一个不同的项目中有一个资源文件,并希望访问例如。 来自它的字符串。 我怎样才能做到这一点?

这是一个非常古老的问题,但由于它没有得到解答,我只是偶然发现了这个问题,这里有一些可能的解决方案:

确保resx的访问修饰符设置为public!

链接到resx文件

看到这里

然后你要么直接访问字符串

var translatedString = Resources.NAME_OF_THE_STRING_IN_RESX_FILE; 

或通过ResourceManager

 var resourceManager = new ResourceManager("FULLY.QUALIFIED.NAMESPACE.NO.EXTENSION", Assembly.GetExecutingAssembly()); var translatedString = resourceManager.GetString("NAME_OF_THE_STRING_IN_RESX_FILE"); 

当您引用项目时直接访问

 var translatedString = [FULLY.QUALIFIED.NAMESPACE.NO.EXTENSION].NAME_OF_THE_STRING_IN_RESX_FILE; 

将您的访问修饰符设为公开。

在此处输入图像描述