如何在尝试运行不带dll的exe文件时显示错误消息?

问题描述:

我有一个C#应用程序,它有一个通过引用添加的dll。 当我尝试从Windows(编译后)运行exe文件并重命名dll时,我希望应用程序显示错误消息。如何在尝试运行不带dll的exe文件时显示错误消息?

我该如何在代码中做到这一点?

如果exe无法找到任何所需的DLL,它应该已经显示一个错误。沿线的东西:

程序无法启动,因为您的计算机缺少example.dll。尝试重新安装程序来解决这个问题。

,你没有得到这个事实意味着几件事情之一:

一)DLL实际上不是由您的程序引用。

b)您已将dll链接到exe。

三)DLL已在别处发现由CLR(感谢Pondidum)

+0

也可能是由CLR在别处找到的DLL – Pondidum 2009-12-02 13:18:22

在.NET应用程序,你就不会得到一个错误,你第一次尝试在缺少DLL使用类罚金。

几个可能的原因:

是在程序启动运行,并调用每个DLL
  • 在一类虚拟方法递归调用Assembly.GetReferencedAssemblies(
    • 编写代码),并建立丢失的DLL
    • 名单
  • 此外,您的exe可能会在其他地方找到所需的程序集。要检查它在哪里搜索所需的组件,请检查this article on MSDN

    另一种可能性是使用AssemblyLoadAssemblyResolve事件来获取有关哪些程序集(未)加载的更多信息。