首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

读取Debug停的.exe文件的所有依赖项

2013-08-06 
读取Debug下的.exe文件的所有依赖项最近在做一个上传软件,上传前选择Debug下的文件,当选择的文件是XXX.exe

读取Debug下的.exe文件的所有依赖项
  最近在做一个上传软件,上传前选择Debug下的文件,当选择的文件是XXX.exe时,程序会识别此文件,然后找出此文件的所有依赖项(例如XXX.dll),并把这些依赖项读取到一个TextBox控件中,我百度和谷歌都试过了,很难找到能帮助我开启思路的解释,于是就来这里求解了,希望各位大神帮下我解决这个棘手问题。最好有代码解释,我用的是C#和VS2010。感激不尽! C# 依赖项
[解决办法]
用反射获取该EXE的所有引用
[解决办法]
这里有下载:http://download.csdn.net/download/hemiao_1993/1027412
[解决办法]
Assembly.GetReferencedAssemblies 
[解决办法]


        private static StringBuilder _resultString = new StringBuilder();
        static void Main(string[] args)
        {
            Assembly mainExe = Assembly.LoadFrom(@"D:\DEMO测试\ConsoleApplication3\WindowsFormsApplication1\bin\Debug\1.exe");
            BuildReferencesTree(mainExe, 1);
            Console.WriteLine(_resultString);
            Console.Read();
        }

        private static void BuildReferencesTree(Assembly assembly, Int32 index)
        {
            if (index >= 5)
            {
                return;
            }
            AssemblyName[] assemblyNames = assembly.GetReferencedAssemblies();
            foreach (var item in assemblyNames)
            {


                _resultString.AppendLine((new String(' ', (index - 1) * 3)) + item.Name);
                BuildReferencesTree(Assembly.Load(item), index + 1);
            }
        }

热点排行