通过System.Reflection.Assembly获取dll文件扩展名

时间:2017-04-10 08:37:47

标签: c# dll file-extension system.reflection assembly-name

我将实现一个可以在exe中提取所有引用的dll文件的函数。

我正在使用" System.Reflection.Assembly"这样做。

但我不知道如何获取文件扩展名。

例如,text.exe包含x.dll,y.dll和z.dll

以上代码仅返回x,y,z。

任何人都知道怎么做?

谢谢大家。

System.Reflection.Assembly assemblyFile = System.Reflection.Assembly.LoadFile(exePath);

System.Reflection.AssemblyName[] names = assemblyFile.GetReferencedAssemblies();

foreach (System.Reflection.AssemblyName data in names)
{
     listBox2.Items.Add(data.Name);
}

2 个答案:

答案 0 :(得分:2)

如果您要查找完整的文件名(例如x.dll),请使用:

        foreach (System.Reflection.AssemblyName data in names)
        {
            var assembly = System.Reflection.Assembly.ReflectionOnlyLoad(data.FullName);
            listBox2.Items.Add(System.IO.Path.GetFileName(assembly.Location));
        }

答案 1 :(得分:-1)

foreach (System.Reflection.AssemblyName data in names)
{
   listBox2.Items.Add(data.FullName);
}