我在我的应用程序上使用本地化,并希望获得基本语言中使用的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}
非常感谢任何帮助!提前谢谢!
答案 0 :(得分:0)
根据dtb的评论,我发现我没有引用proper assembly
。因此,为了获得Assembly
的正确App_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.
}
}
}
如果有更好的方法,请告诉我!