PcapDotNet仅在开发机器上运行

时间:2017-07-26 13:51:15

标签: c# visual-studio packet-capture pcap.net

我使用PcapDotNet库(https://github.com/PcapDotNet/Pcap.Net/wiki)为专用网络构建特定于协议的远程嗅探器。

我可以在Visual Studio 2017中将DLL包含在C#应用程序中,并且运行正常。应用程序在运行时需要5个PCAP DLL。

问题是当我将应用程序和DLL移动到网络上的另一台主机时;应用程序抛出一个未找到的文件'即使DLL与EXE位于同一文件夹中也是例外。我认为这可能是一个包罗万象的错误代码,而真正的问题是PCAP库中的依赖关系。

我在开发主机和部署主机之间找到的唯一区别是Visual Studio环境。我在开发方面尝试了几个修复程序,包括尝试从源代码重建PCAP库(仍有文件未找到的问题)并针对不同的平台(x86,x64,any),但总是得到相同的结果。有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

一位正在工作的同事找到了解决方案:PcapNet.Core.DLL是用C ++构建的,并且依赖于Visual C ++ Redistributable库。因此,要使PcapDotNet正常工作,必须在目标计算机上安装可再发行组件。 x86版本是使用的版本:

选择vcredist_x64.exe

一旦运行,我的PcapDotNet应用程序运行良好。感谢卑诗省的努力!