0

我将实现一个函数,该函数可以在 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);
}
4

2 回答 2

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));
        }
于 2017-04-10T09:00:58.837 回答
-1
foreach (System.Reflection.AssemblyName data in names)
{
   listBox2.Items.Add(data.FullName);
}
于 2017-04-10T08:59:18.597 回答