如何从Exception获取缺少的引用

问题描述 投票:1回答:1

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

当我开始它时,我得到了这个例外。

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 Redistributable Package

现在我的问题是:

有没有办法从运行中的异常或其他地方获取该信息,以便我可以显示一个有用的消息框并正确记录错误?

c# dll pdftron
1个回答
1
投票

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

但是,问题是部署问题。

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

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

或者,您可以将两个C ++运行时DLL放入使用PDFNet的进程的工作目录中,如果这是明显且稳定的位置。

所以我不建议打扰运行时检查,这是非常重要的,而只是确保在创建新服务器时这种依赖关系是明确的。一旦那里,并假设没有人删除DLL,那么它将始终正常工作。

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

抱歉对此感到沮丧。对于未来的读者,此处提供此信息。 https://www.pdftron.com/documentation/windows/guides/deployment#net

© www.soinside.com 2019 - 2024. All rights reserved.