以下脚本在C#中读取MAC地址,并在.Net Framework 4中正常工作
macAddr =
(
from nic in NetworkInterface.GetAllNetworkInterfaces()
where nic.OperationalStatus == OperationalStatus.Up
select nic.GetPhysicalAddress().ToString()
).FirstOrDefault();
但问题是我需要为.Net Framework 3构建它
当我使用.Net Framework 3时,会发生以下错误
找不到源类型'System.Net.NetworkInformation.NetworkInterface []'的查询模式的实现。 '哪里'找不到。您是否缺少'System.Linq'的引用或using指令? (你错过了一个装配参考吗?)
解决方案是什么?提前致谢
答案 0 :(得分:0)
.NET Framework 3.5中引入了功能System.Linq
。
请参阅此链接https://msdn.microsoft.com/en-us/library/system.linq(v=vs.90).aspx
如果您使用的是.NET 3.5,请将更新添加到引用。
答案 1 :(得分:0)
由于您使用的是.net 3.0版,因此无法使用上述Linq查询。使用如下所示的简单foreach循环迭代列表并获取值。
foreach(var nic in NetworkInterface.GetAllNetworkInterfaces())
{
if(nic.OperationalStatus == OperationalStatus.Up)
{
return nic.GetPhysicalAddress();
}
}
return string.Empty();