如何在尝试运行不带dll的exe文件时显示错误消息?
问题描述:
我有一个C#应用程序,它有一个通过引用添加的dll。 当我尝试从Windows(编译后)运行exe文件并重命名dll时,我希望应用程序显示错误消息。如何在尝试运行不带dll的exe文件时显示错误消息?
我该如何在代码中做到这一点?
答
如果exe无法找到任何所需的DLL,它应该已经显示一个错误。沿线的东西:
程序无法启动,因为您的计算机缺少example.dll。尝试重新安装程序来解决这个问题。
,你没有得到这个事实意味着几件事情之一:
一)DLL实际上不是由您的程序引用。
b)您已将dll链接到exe。
三)DLL已在别处发现由CLR(感谢Pondidum)
答
在一类虚拟方法递归调用Assembly.GetReferencedAssemblies(
在.NET应用程序,你就不会得到一个错误,你第一次尝试在缺少DLL使用类罚金。
几个可能的原因:
是在程序启动运行,并调用每个DLL- 编写代码),并建立丢失的DLL 名单
答
此外,您的exe可能会在其他地方找到所需的程序集。要检查它在哪里搜索所需的组件,请检查this article on MSDN。
另一种可能性是使用AssemblyLoad或AssemblyResolve事件来获取有关哪些程序集(未)加载的更多信息。
也可能是由CLR在别处找到的DLL – Pondidum 2009-12-02 13:18:22