卫星组件被忽略

时间:2019-10-02 00:20:50

标签: c# .net-core .net-core-3.0

我了解.NET Core 3支持卫星程序集。

为了进行测试,我创建了一个控制台应用程序,并添加了welcome.resxwelcome.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"));

我仍然获得英语的“问候”资源。

我可能会缺少什么,或者如何解决该问题?

1 个答案:

答案 0 :(得分:0)

事实证明,小型测试项目也有一个应用程序清单。删除清单可以解决该错误。

当我重新添加清单时,该项目继续按预期工作。显然,该项目进入了一种奇怪的状态,该状态通过删除并重新添加清单得以解决。