c# GetManifestResourceNames() 什么都不返回

标签 c# localization c#-2.0

我在我的应用程序上使用本地化,并希望获得以基本语言使用的 Resource 文件的基本列表。研究表明,下面的陈述应该能让我得到我想要的东西。

Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
string[] resNames = a.GetManifestResourceNames();

我没有收到任何错误,只是一个空字符串数组 (string[])。我已经在运行 IIS Express 的本地计算机和生产服务器上对此进行了测试。

在本地查看Assembly变量,赋值如下。

 {App_Code.i5gd5jfv, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null}

非常感谢任何帮助!提前致谢!

最佳答案

根据 dtb 的评论,我发现我没有引用正确的程序集。因此,我编写了以下代码,以便为 App_GlobalResources 获取正确的 Assembly,然后获取资源列表。

Assembly[] assemblyList = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly assembly in assemblyList)
{
    string assemblyName = assembly.GetName().Name.ToString().Split(new char[] { '.' })[0];

    if (assemblyName == "App_GlobalResources")
    {
        foreach (string s in assembly.GetManifestResourceNames())
        {
            //do stuff with the list of resources.
        }
    }
}

如果有更好的方法,请告诉我!

关于c# GetManifestResourceNames() 什么都不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18467296/

相关文章:

c# - 在 C# 控制台应用程序中使用 Windows ctrl+v(粘贴)功能是否有更简单的方法?

c# - SwipeItem XAML 绑定(bind)被忽略

c# - 没有资源文件怎么本地化?

ios - 使用可变参数格式化字符串

asp.net - MVC - 单击单选按钮后的回发

c# - msaccess 中的格式化方法,给出未排序的数据

C# 将时间列表拆分为时间范围

javascript - 使用 javascript 选择客户端 ListView 中的所有复选框

c# - 将具有随机唯一数字的数组转换为具有连续数字的数组?

java - 如何使用 Java 编程将一种语言翻译成另一种语言