我有一个VB.Net类,我通过asp.net页面的手动线程调用。当代码执行尝试调用特定的外部DLL时,执行就会停止。没有异常被抛出。我在调用之前和之后以及错误处理程序中写入日志。仅记录呼叫前的日志条目。
这在我的开发机器上工作正常,但它在部署服务器上失败了。我今天早些时候使用的是一个正在运行的演示版。
本周早些时候我和另一个第三方dll发生了类似的事情。原来我在服务器上安装了不同的组件版本。在这种情况下我查找了,但是我的bin文件夹和我的开发机器上的dll安装文件夹anmd都有相同的版本。
我知道如何弄清楚这里发生了什么?
答案 0 :(得分:0)
虽然您提到“演示版”,但您未提供有关外部DLL的任何详细信息。这只是猜测:可能存在一些许可问题吗? DLL检查你是否在开发服务器上运行并在那里工作正常,但在生产服务器上(IIS我假设)它没有。延迟可能与尝试联系许可服务器的DLL有关。
实际上可能还有另一个原因:您拥有有效的许可证但部署服务器无法联系互联网。
另外,请检查您的部署服务器是否可以访问crl.microsoft.com。一些插件尝试访问它以撤销某些证书。有关它的更多信息:
答案 1 :(得分:0)
尝试在您调用的dll中放入一些日志记录信息。像log4net这样的框架对此很有用,然后找出代码在dll中的位置。
答案 2 :(得分:0)
我之前使用过的一种方法是使用Fusion Log Viewer记录任何装配绑定。
运行应用程序后,您可以检查日志以查找错误/失败的内容。