查找其他程序集中的所有嵌入资源

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找其他程序集中的所有嵌入资源相关的知识,希望对你有一定的参考价值。

我正在为我的项目进行本地化。为此,我有一个类应该从另一个程序集加载一个嵌入的资源,然后读出字符串。

但是我还需要知道这个程序集包含哪些资源文件。这些数字和语言是未知的。

那么如何找出这个程序集中的“.resx”文件是如何命名的呢?这些都有相同的方案:“de-DE.resx”,“en-US.resx”,依此类推。

我需要知道这个程序集中包含了多少这些文件,以及它们是哪种语言。

我知道ResourceManager可以访问它们,因此也应该可以以编程方式访问这些信息......

答案

你应该使用GetManifestResourceNames类(Assembly)的msdn方法:

string[] resourceNames = this.GetType().Assembly.GetManifestResourceNames();
foreach(string resourceName in resourceNames)
{
    Console.WriteLine(resourceName);
}

以上是关于查找其他程序集中的所有嵌入资源的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式替换 .NET 程序集中的嵌入式资源?

如何发现嵌入式资源的“路径”?

反序列化具有在 AssemblyResolve 上加载的其他程序集中声明的类型字段的对象时出错

C#应用程序中资源和嵌入式资源之间的区别是什么?

在所有程序集中查找类型

abp 嵌入资源(视图cssjs)的访问