如何从异常中获取丢失的引用

时间:2019-02-21 08:32:10

标签: c# dll pdftron

我刚刚将应用程序部署在新服务器上。

开始时,我遇到了这个异常。

System.IO.FileNotFoundException: Could not load file or assembly 'PDFNet.dll'
or one of its dependencies. The specified module could not be found.

经过数小时的调试和重新添加参考,我发现了有关dependency walker.

原来是新服务器丢失了 Microsoft Visual C ++ 2010可再发行组件包

现在我的问题是:

是否可以在运行时从异常或其他地方获取该信息,以便我可以显示有用的消息框并正确记录错误?

1 个答案:

答案 0 :(得分:1)

如对答案的评论所述,默认情况下此信息不可用。

但是,问题是部署之一。

  

我刚刚将应用程序部署在新服务器上。

由于要部署到服务器,因此知道它是64位还是32位,并且可以一次安装依赖项(或使其成为部署依赖项的一部分)。

或者,也可以将这两个C ++运行时DLL放到使用PDFNet的进程的工作目录中(如果该目录很明显且稳定)。

因此,我不建议您花很多时间来进行运行时检查,这是不平凡的,而只是确保在创建新服务器时清楚这种依赖性。一旦到达那里,并且假设没有人删除DLL的文件,那么它将永远可以正常工作。

  

我经过数小时的调试和重新添加引用

很抱歉对此感到沮丧。对于将来的读者,此信息可在此处获得。 https://www.pdftron.com/documentation/windows/guides/deployment#net