Nuget包引用的库在Linux和Windows上具有不同的名称

时间:2019-02-21 14:46:56

标签: c# .net linux .net-core sharppcap

我正在研究可在Windows和Linux上运行的小数据包嗅探器。对于嗅探数据包,我使用SharpPcap。 SharpPcap在Windows上运行没有问题。在Linux上,需要进行一些调整才能使所有功能正常运行,因为Linux不使用Wpcap.dll,而是使用Libpcap.so,并且由于 wpcap dll / so并非如此,我遇到了错误/异常找到了。这些调整取决于我为项目选择的框架。

Linux(Ubuntu 18.04):

我用apt-get install libpcap-dev安装了libpcap。

1。 .NET Framework 4.6.1

必须完成在SharpPcap.dll.config中将 wpcap 映射到 libpacap 。然后,使用mono运行MyProject.exe不会引发任何异常,并且一切正常。

2。 .NET Core 2.1项目。

libpcap.so 需要重命名为 wpcap.so ,然后“ dotnet run”命令运行项目不会出现问题,并且一切正常。

在这两种方法中,一切似乎都工作正常,但对其背景有一些不适感。我是这类问题的新手。您能否请我在这两者之间进行选择,或者请我找到其他方法使nuget包Sharppcap在Linux和Windows上都能正常工作?

谢谢

1 个答案:

答案 0 :(得分:0)

库已更新,现在可以在Linux上正常工作。