我有一个带有Resources
的文件夹,并且想要获取所有paths
的列表。
如果将它们设置为embedded resource
,我可以通过
var resources = Assembly.GetExecutingAssembly().GetManifestResourceNames();
在遵循答案https://stackoverflow.com/a/1935035/6229375时,我不应该再使用embedded resource
了,或者我做错了什么?
答案 0 :(得分:3)
来自以下blog post:
标记为“ Resource”的构建操作的文件将添加到名为ProjectName.g.resx的特殊resx文件中。该文件是在构建期间生成的,它不是项目的一部分。您可以通过创建ResourceManager实例并调用GetStream(filename)来访问“资源”文件的内容。此外,在WPF应用程序中,您可以通过C#中的Application.GetResourceStream()以及XAML中的东西来访问这些资源。
var resourceManager = new ResourceManager("ConsoleApp5.g", Assembly.GetExecutingAssembly());
var resources = resourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true);
foreach (var res in resources)
{
System.Console.WriteLine(((DictionaryEntry)res).Key);
}
其中(((DictionaryEntry)res).Value将是Stream。