2

我在我的应用程序上使用本地化,并希望获得以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}

对此的任何帮助都非常感谢!提前致谢!

4

1 回答 1

0

根据 dtb 的评论,我发现我没有引用proper assembly. 因此,我对以下代码进行了一些处理,以便获得正确AssemblyApp_GlobalResources然后获取资源列表。

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.
        }
    }
}

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

于 2013-08-27T14:52:51.577 回答