2016-08-30 100 views
0

我认为这可能与依赖关系有关,但我不太确定。.net核心中缺少方法例外

所以我想请检查TCP连接使用扩展方法我发现here仍然活跃,但我发现了一个缺失的方法例外:

“未找到方法:“系统。 Net.IPEndPoint System.Net.NetworkInformation.TcpConnectionInformation.get_LocalEndPoint()''

自从方法seems to exist以来,我对此有点困惑。

下面的代码:

public static TcpState GetState(this TcpClient tcpClient) 
     { 

       var status = IPGlobalProperties.GetIPGlobalProperties() 
               .GetActiveTcpConnections() 
               .SingleOrDefault(x => x.LocalEndPoint.Equals(tcpClient.Client.LocalEndPoint)); 

       return status != null ? status.State : TcpState.Unknown; 

     } 

和JSON文件,我觉得可能是在NetworkInformation是如何引用的问题:

{ 
    "buildOptions": { 
    "debugType": "portable", 
    "emitEntryPoint": true 
    }, 
    "frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0" 
     } 
     }, 
     "imports": "dnxcore50" 
    } 
    }, 
    "dependencies": { 
    "system.net.networkinformation": "4.0.10-beta-23123" 

    }, 
    "version": "1.0.0-*" 
} 

我在正确的轨道上?我将如何解决它?

+0

您是否仔细检查过您的版本是否与支持该代码的版本相同? – Missy

+0

我知道它不是相同的版本,但[文档](https://msdn.microsoft.com/en-us/library/system.net.networkinformation.tcpconnectioninformation.localendpoint(v = vs.110).aspx)似乎是一致的。 – hereswilson

+1

4.0.10-beta-23123,呃,那些版本号让任何人的眼睛流血。看起来你只是一直在挖掘一个参考汇编,直到编译器开心。运行时间不快乐并不是一个很大的谜团。该文档不会对此有任何疑问,只能在完整的.NET Framework版本的.NET Framework上使用。 –

回答

1

尝试添加system.net.security程序包,因为system.net.networkinformation取决于安全程序包。它可能没有自动加载依赖关系。