C# 单独程序集中的本地化resx文件?

C# 单独程序集中的本地化resx文件?,c#,localization,embedded-resource,resx,C#,Localization,Embedded Resource,Resx,我有一个场景,我需要在多个项目类型web前端、WCF、windows服务等之间共享本地化,所以我的想法是创建一个本地化程序集,在其中我可以嵌入所有resx文件,然后在任何时候添加/修改这些文件,我只需要重新部署一个dll来更新我的所有应用程序 所以为了进行测试,我创建了一个类库项目,并将其命名为TestLocalization。我向它添加了一个名为LocalizationManager的类,目前它只是一个存根,我计划稍后在其中添加一些实用方法。然后我添加了两个resx文件,每个文件中都有一个测试

我有一个场景,我需要在多个项目类型web前端、WCF、windows服务等之间共享本地化,所以我的想法是创建一个本地化程序集,在其中我可以嵌入所有resx文件,然后在任何时候添加/修改这些文件,我只需要重新部署一个dll来更新我的所有应用程序

所以为了进行测试,我创建了一个类库项目,并将其命名为TestLocalization。我向它添加了一个名为LocalizationManager的类,目前它只是一个存根,我计划稍后在其中添加一些实用方法。然后我添加了两个resx文件,每个文件中都有一个测试条目。我将一个文件命名为Resource.resx,另一个命名为Resource.fr.resx。我验证了resx文件的构建操作设置为“嵌入式资源”,然后编译并尝试使用以下代码调用它:

Assembly assembly = typeof(TestLocalization.LocalizationManager).Assembly;
ResourceManager rm = new ResourceManager("Resource", assembly);
string str = rm.GetString("AKey");
它给了我以下错误:

找不到任何适合指定区域性或非特定区域性的资源。确保Resource.resources在编译时正确嵌入或链接到程序集TestLocalization中,或者确保所需的所有附属程序集都是可加载和完全签名的

我做错了什么?
谢谢

我不确定最初的错误是什么,但我可以发誓,我用assembly+namespace+resourcename的所有可能排列对它进行了测试,但它不起作用,但可能我忘记了保存或其他什么,因为它真的很简单:

ResourceManager rm = new ResourceManager("TestLocalization.Resource", assembly);
这就是我的项目名为TestLocalization的地方,我的resx文件都在根目录中。如果它们位于根目录下的子目录中,则还需要将其包括在内

然后,如果要在区域设置之间切换,请执行以下操作:

CultureInfo french = new CultureInfo("fr-FR");
string translatedVal = rm.GetString("keyname", french);

你是舒尔吗。。如何避免资源的内部类型?