Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 用于分析可执行文件的库_.net_Linker - Fatal编程技术网

.net 用于分析可执行文件的库

.net 用于分析可执行文件的库,.net,linker,.net,Linker,有一些工具,如dumpbin、ildasm,用于在Windows上查找DLL/EXE文件。我想从代码分析DLL,特别是托管和非托管的依赖关系。是否有任何(.NET)库可以使用类似的功能进行分析 我想用它来验证我们是否在我的公司正在创建的安装程序中部署了正确的DLL。我们有200多个DLL。如果您想自己进行依赖项检查,可以为Visual Studio编写代码分析(FxCop)插件,用于托管代码程序集 如果需要预构建工具,可以使用: Visual Studio中的内置代码分析(FxCop)工具

有一些工具,如dumpbin、ildasm,用于在Windows上查找DLL/EXE文件。我想从代码分析DLL,特别是托管和非托管的依赖关系。是否有任何(.NET)库可以使用类似的功能进行分析


我想用它来验证我们是否在我的公司正在创建的安装程序中部署了正确的DLL。我们有200多个DLL。

如果您想自己进行依赖项检查,可以为Visual Studio编写代码分析(FxCop)插件,用于托管代码程序集

如果需要预构建工具,可以使用:

  • Visual Studio中的内置代码分析(FxCop)工具

  • 我希望这不会违反任何规则,但您可能希望查看我开发的一个库,它可以在一堆其他东西中查看图像导入和导出。从此处下载源代码:。提取ProcessHacker.Common和ProcessHacker.Native,将它们包含在解决方案中,并引用它们

    以下是如何使用它:

    using ProcessHacker.Native.Image;
    
    MappedImage image = new MappedImage("file.exe");
    
    for (int i = 0; i < image.Imports.Count; i++)
    {
        Console.WriteLine("Imports for " + image.Imports[i].Name + ":");
    
        for (int j = 0; j < image.Imports[i].Count; j++)
            Console.WriteLine(image.Imports[i][j].Name);
    }
    
    使用ProcessHacker.Native.Image;
    MappedImage image=newmappedimage(“file.exe”);
    对于(int i=0;i
    <>我不知道如何处理.NET引用。

    确实是你正在寻找的工具,但是你也应该考虑减少这里所解释的程序集的数量:


    您可以使用库来分析托管可执行文件。如果您想要一个规则引擎来检查您的应用程序,您可以使用它来使用Cecil。

    FxCop工具包中可能有一些东西可以用来创建我可以使用的自己的规则。谢谢至于独立软件,据我所知,它是一个独立的工具,我无法从我的程序中轻松调用。Cecil看起来是托管代码的好库,我必须尝试使用UT。你应该透露你是Cecil的作者。@Jason你的意思是,把这些信息放在他的个人资料上?杰森:杰森,你这么狡猾,我很高兴你把事情弄清楚了。@Jason,看在什么原因上?“披露”是否提供了更多信息来回答问题?或者,它应该给我的答案增加更多的分量,让我得到更多的分数(而我正全力以赴呢!)?无论如何,我真的不明白这有什么关系。任何感兴趣的人都可以点击我的名字。@Yann Scwartz:不,它应该出现在任何关于Cecil或Cecil“竞争”的项目的帖子中。我已经尝试过了。它在本机DLL引用上运行得非常好。很遗憾,我不能给出两个“认可的答案”,我很高兴它能起作用。不要担心接受两个答案,我不介意。