gpt4 book ai didi

c# - ResourceSet 不加载子文件夹的子文件夹中的项目

转载 作者:行者123 更新时间:2023-11-30 13:04:57 24 4
gpt4 key购买 nike

我正在使用典型代码加载程序集并检索其资源。它找到顶级子文件夹中的所有资源(例如,“component/Images”),但是如果我将图像等资源放入这些子文件夹(例如,component/Images/MenuIcons)中,那么这些资源都不会出现在集合。我检查了 application.g.resources 文件,它们就在那里。我尝试了两种扫描资源的方法:

System.Globalization.CultureInfo culture = Thread.CurrentThread.CurrentCulture;
string resourceName = asm.GetName().Name + ".g";
System.Resources.ResourceManager rm = new System.Resources.ResourceManager(resourceName, asm);
System.Resources.ResourceSet resourceSet = rm.GetResourceSet(culture, true, true);
List<string> resources = new List<string>();
foreach (DictionaryEntry resource in resourceSet)
resources.Add((string)resource.Key);
rm.ReleaseAllResources();
return resources;

还有:

foreach (string name in assembly.GetManifestResourceNames())
{
using (Stream stream = assembly.GetManifestResourceStream(name))
{
using (IResourceReader reader = new ResourceReader(stream))
{
foreach (DictionaryEntry entry in reader)
{
// Add resource here
}
}
}
}
}

这两种方法产生相同的结果,但都不包含子文件夹的子文件夹中的任何资源。任何人都知道我如何获得这些列表?当使用 pack: URI 引用时,它们工作得很好。

最佳答案

可能你的资源没有复制到Build上的bin目录下?检查这些文件的构建操作和复制到输出目录属性。

关于c# - ResourceSet 不加载子文件夹的子文件夹中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com