c# - 找不到类型或命名空间名称 'Ping',尽管存在依赖关系和使用

标签 c# asp.net-core console-application ping

我正在创建一个小程序来 ping 网络中的一台计算机。 为此,我尝试使用类 ping,来自

namespace System.Net.NetworkInformation.Ping

我正在使用 ASP.NET 5.0,所以我有一个 project.json 文件和我的依赖项

  {
    "version": "1.0.0-*",
    "dependencies": {
        "NetworkSniffer": "1.0.0-*",
        "Microsoft.AspNet.Mvc": "6.0.0.0-beta2"
    },
    "commands": {
        "run": "run"
    },
    "frameworks": {
        "aspnet50": {
            "dependencies": {
                "System.Console": "4.0.0-beta-22231",
                "System.Net.NetworkInformation": "4.0.10-beta-22231"
            }
        },
        "aspnetcore50": {
            "dependencies": {
                "System.Console": "4.0.0-beta-22231",
                "System.Net.NetworkInformation": "4.0.10-beta-22231"


            }
        }
    }
}

仍然给出错误的控制台代码的简化版本是:

using System.Net.NetworkInformation;
namespace TestApp
{
    public class Program
    {

        public static void Main(string[] args)
        {
            Ping p = new Ping();   
        }

    }
}

尝试编译此代码时的完整错误是:

Code:Error CS0246 Description:The type or namespace name 'Ping' could not be found (are you missing a using directive or an assembly reference?) Project:TestApp.ASP.NET Core 5.0 file:Program.cs line:9

最佳答案

问题是 Ping 不在 CoreCLR (aspnetcore50) 的 System.Net.NetworkInfomation 包中(该包是否存在?)。

根据package search website ,您需要添加对 System.Net.Utilities 包的引用。

关于c# - 找不到类型或命名空间名称 'Ping',尽管存在依赖关系和使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28449391/

相关文章:

azure - .net core web api 在发布到 azure 时响应 500

visual-c++ - 如何在控制台程序中向上一行(C++)

java - JOptionPane showMessageDialog 请求控制台程序中的焦点

c# - 在 C# 中使用 Y 组合器

c# - 如何处理文件名

c# - C#中如何通过引用传递值?

c# - 配置 GetSection 返回对象部分的空值

c# - 省略 Void 一词是否与包含 Void 相同?

razor - 在没有 Microsoft.NET.Sdk.Web 的情况下使用 Razor

c# - 为特定于域的操作创建独立的控制台(shell)