我了解.NET Core 3支持卫星程序集。
为了进行测试,我创建了一个控制台应用程序,并添加了welcome.resx
和welcome.de.resx
。两者都有一个名为Greeting的字符串资源。主要方法是这样做的:
ResourceManager r = new ResourceManager("MyTest.welcome",
Assembly.GetExecutingAssembly());
string greeting = r.GetString("Greeting");
Console.WriteLine(greeting);
到目前为止,太好了。它打印我的英语问候语Hello
。
我验证了构建过程在构建输出文件夹下创建了一个名为de
的文件夹,其中包含MyTest.resources.dll
。当我明确要求德语资源文件时:
string greeting = r.GetString("Greeting",
new System.Globalization.CultureInfo("de"));
我仍然获得英语的“问候”资源。
我可能会缺少什么,或者如何解决该问题?
答案 0 :(得分:0)
事实证明,小型测试项目也有一个应用程序清单。删除清单可以解决该错误。
当我重新添加清单时,该项目继续按预期工作。显然,该项目进入了一种奇怪的状态,该状态通过删除并重新添加清单得以解决。