Pcap .NET 库:PcapDotNet.Core.DLL 未找到

Pcap .NET library: PcapDotNet.Core.DLL not found

使用来自 Github (https://github.com/PcapDotNet/Pcap.Net/wiki/Using-Pcap.Net-in-your-programs) 的 PcapDotNet 库,我构建了一个 Windows 服务,允许远程网络嗅探通信网络故障排除。部署后服务无法启动。

启动时 Windows 事件日志显示:

Service cannot be started. System.IO.FileNotFoundException: Could not load file or assembly 'PcapDotNet.Core.dll' or one of its dependencies. The specified module could not be found.
File name: 'PcapDotNet.Core.dll' at NewPcapService.svcPcapServer.ServiceStart

按照上面 pcapDotNet wiki 页面中的指南,我在发布模式下构建了项目,并安装了所有推荐的可再分发包。

'missing' 文件 PcapDotNet.Core.dll 与其他 3 个 PcapDotNet DLL 位于与服务 EXE 相同的文件夹中。

我还在 Windows 和 Windows\System32 文件夹中复制了所有 4 个 DLL,但都无济于事。

谁能帮忙解决这个问题?该库是我们为系统故障排除而设计的一些基本网络测试的核心。

请注意,该文件可能不是 'missing',但 "one of its dependencies" 可能是。

这基本上是 Pcap.Net FAQ 中的第 6 题。

请确保您按照 Using-Pcap.Net-in-your-programs guide 中的所有步骤进行操作,因为它很可能会解决您的问题,就像之前对几个人所做的那样。

尽管(我认为)我遵循了 Using-Pcap.Net-in-your-programs guide 中的建议,但我仍然缺少 x86 的可再分发包。我跳过了它,因为目标主机是一台 64 位机器。

为简单起见,我通过命令行安装了所有推荐的 VC++ 软件包:

vcredist_x86_2010.exe /passive /norestart
vcredist_x64_2010.exe /passive /norestart
vcredist_x86_2013.exe /install /passive /norestart
vcredist_x64_2013.exe /install /passive /norestart

现在应用程序运行良好。