0

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

我怎样才能在代码中做到这一点?

4

3 回答 3

3

如果 exe 找不到任何所需的 dll,它应该已经显示错误。类似于以下内容:

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

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

a)您的程序实际上并未引用该dll。

b)您已将 dll 链接到 exe。

c) CLR 在其他地方找到了 DLL(感谢 Pondidum)

于 2009-12-02T12:48:05.983 回答
1

您的 exe 也有可能在其他地方找到所需的程序集。要检查它在哪里搜索所需的程序集,请查看MSDN 上的这篇文章

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

于 2009-12-02T14:52:38.037 回答
1

在 .NET 应用程序中,直到您第一次尝试使用缺少的 DLL 中的类时才会出现错误。

几种可能性:

  • 编写在程序启动时运行的代码,并在每个 DLL 中的一个类上调用虚拟方法
  • 递归调用 Assembly.GetReferencedAssemblies() 并构建缺失 DLL 的列表
于 2009-12-02T12:48:53.873 回答