C# GetResourceSet 找不到默认资源resx文件

C# GetResourceSet can't find the default resource resx file

我尝试加载特定资源集或默认资源集(如果未找到特定资源集)。

这是代码:

ResourceSet resourceSet = MyLib.MyResource.ResourceManager.GetResourceSet(
    culture: someCulture,
    createIfNotExists: false,
    tryParents: false
);

当特定的 resx 文件存在时,它工作得很好,但是对于文化 {en},它是对应于文件 MyResource.resx 的默认文化,它不起作用(这意味着 ressourceSet = null )

但是如果我 copy/paste 文件 "MyResource.resx",并将其重命名为 "MyResource.en.resx",然后将其包含在我的解决方案中,它突然起作用了

我的问题是:如何指定 {en} 匹配默认的 "MyResource.resx" 文件?

试试这个:

ResourceSet resourceSet = MyLib.MyResource.ResourceManager.GetResourceSet(
    culture: CultureInfo.InvariantCulture,
    createIfNotExists: false,
    tryParents: false
);

要获取有关 CultureInfo.InvariantCulture 的更多详细信息,请参阅 office 文档: https://docs.microsoft.com/en-us/dotnet/api/system.globalization.cultureinfo.invariantculture