代码之家  ›  专栏  ›  技术社区  ›  GraemeF

如何找出哪个丢失的dll使我的.NET应用程序在启动时崩溃?

  •  7
  • GraemeF  · 技术社区  · 15 年前

    当对第三方程序集的依赖关系添加到典型的.NET应用程序中时,很容易忘记将它们添加到安装程序中。只有在安装应用程序之后,这个问题才会显现出来,并且以启动时崩溃的形式出现,几乎没有有用的信息。

    找出哪些程序集需要添加到安装程序的最佳工具和技术是什么?

    3 回复  |  直到 12 年前
        1
  •  5
  •   Simon P Stevens    15 年前

    完全自动化的构建有助于减少人为组件,从而减少错误。如果每次都自动构建,你知道每个构建都是相同的,所以一旦你让它工作一次,它就会一直工作。

    我们使用像这样的工具 MSBuild CruiseControl.net

    如果您正在寻找帮助您解决崩溃原因的工具,请在 Assembly binding (Fusion) log viewer (or fuslogvw) . 如果在启动应用程序之前启动它,请设置日志文件位置并打开完整日志记录,它将报告绑定程序集的任何尝试,并列出所有失败。

        2
  •  3
  •   Coxy    15 年前

    DependencyWalker是一个很好的小实用程序,它跟踪来自应用程序或DLL的一系列依赖项,并突出显示缺少的任何依赖项。对于最终用户来说,使用它并不是很直观,但是希望如果你开始使用它,那么你自己就会发现丢失的东西。

    http://www.dependencywalker.com/

        3
  •  0
  •   Frank Bollack    15 年前

    取决于安装程序的功能。VS集成安装项目可以自动拾取任何依赖程序集。您可能需要检查安装程序是否具有一些类似的功能。

    另一方面,您可以指示您的vs项目将所有依赖项复制到输出目录,并将其中的所有文件都包含到安装程序中。