2016-03-21 5 views
0

Nach Skript liest die MAC-Adresse in C# und arbeiten gut für .Net Framework 4C#: addres MAC

macAddr = 
    (
     from nic in NetworkInterface.GetAllNetworkInterfaces() 
     where nic.OperationalStatus == OperationalStatus.Up 
     select nic.GetPhysicalAddress().ToString() 

    ).FirstOrDefault(); 

Aber das Problem ist, ich zu lesen brauche es für .Net Framework zu bauen 3

Wenn Ich benutze .Net Framework 3 dann folgenden Fehler tritt auf

Konnte eine Implementierung des Abfrage-Muster für Quellentyp 'System.Net.NetworkInformation.NetworkInterface []' nicht finden. 'Wo' nicht gefunden. Vermissen Sie eine Referenz oder eine Verwendungsrichtlinie für 'System.Linq'?
(fehlt eine Baugruppenreferenz?)

Was wird die Lösung sein? Vielen Dank im Voraus

+1

'Sind Sie einen Verweis oder eine using-Direktive für‚System.Linq‘fehlt' – Rob

+0

Ich versuchte Referenz System.Linq hinzuzufügen, aber es ist in Baugruppen nicht verfügbar – Salim

+0

Dieser Link wird Ihnen helfen http: // stackoverflow.com/questions/15783954/c-sharp-get-computers-mac-address-offline – Sid

Antwort

0

Da Sie sich in .net Version 3.0 befinden, können Sie die Linq Query nicht wie oben verwenden. Verwenden Sie eine einfache foreach-Schleife wie unten gezeigt, um die Liste zu durchlaufen und den Wert abzurufen.

foreach(var nic in NetworkInterface.GetAllNetworkInterfaces()) 
{ 
    if(nic.OperationalStatus == OperationalStatus.Up) 
    { 
    return nic.GetPhysicalAddress(); 
    } 
} 
return string.Empty();