Проблема SharpPcap
Я впервые использую библиотеку SharpPcap.
Я создал новый проект с VC# 2008 и добавил SharpPcap в качестве ссылки на мой проект. Я публикую пример кода, чтобы получить интерфейс моего компьютера, но я получаю эту ошибку:
Ошибка 1 Не удалось найти тип или имя пространства имен 'PcapDeviceList' (отсутствует директива об использовании или ссылка на сборку?) C:\Users\Ali\Documents\Visual Studio 2008\Projects\Pcap\Pcap\Form1.cs 28 13 шт
пожалуйста, совет, чтобы решить эту проблему.
вот мой код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SharpPcap;
using SharpPcap.Packets;
using SharpPcap.Protocols;
using SharpPcap.Util;
namespace Pcap
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
/* Retrieve the device list */
PcapDeviceList devices = SharpPcap.GetAllDevices();
/*If no device exists, print error */
if (devices.Count < 1)
{
Console.WriteLine("No device found on this machine");
return;
}
int i = 0;
/* Scan the list printing every entry */
foreach (PcapDevice dev in devices)
{
/* Description */
label1.Text = "{0}) {1}" + i + dev.PcapDescription +"\n"+
/* Name */
"\tName:\t{0}" + dev.PcapName+"\n"+
/* IP Address */
"\tIP Address: \t\t{0}"+ dev.PcapIpAddress+"\n"+
/* Is Loopback */
"\tLoopback: \t\t{0}"+ dev.PcapLoopback;
i++;
}
}
}
}
3 ответа
Какую версию SharpPcap вы используете?
Я перемещаю небольшой рабочий проект с 2.1.1 на 2.4.1, и части библиотеки значительно изменились. Я боролся с этим сам немного назад.
LivePcapDeviceList devices = LivePcapDeviceList.Instance;
foreach (LivePcapDevice device in devices)
{
// Do stuff here...
}
Извините за изменения API. Я все еще пытаюсь получить имя API должным образом. Начиная с версии 3.0, API стал намного чище и должен быть немного более статичным в будущем. Если у вас возникнут проблемы с публикацией в списке разработчиков или на форумах sf, и вы получите быстрый ответ.
Крис SharpPcap сопровождающий / автор http://sharppcap.sf.net/
Попробуйте использовать Pcap.Net. Это чистая оболочка WinPcap в.NET.