在.NET核心Ubuntu 14.04上遇到System.Net问题

时间:2016-03-08 02:07:11

标签: .net ubuntu ubuntu-14.04 .net-core system.net

  • 我通过sudo apt-get install dotnet
  • 安装了dotnet
  • 我使用dotnet new hello-world模板创建了一个项目。它构建并运行。
  • 架构:amd64(dpkg -s
  • 版本:1.0.0.001598-1(dpkg -s

然后我想开始使用库System.Net,所以我改变了模板。我直接从Microsoft API文档中添加了using指令和代码段。

我收到错误,特别是在System.Net命名空间中找不到类。请注意,编译器并没有抱怨我的using不好(即无法识别命名空间),它只是找不到该命名空间中的类型。

让我感到惊讶的原因是因为在api docs中这些类被指定为.Net核心的一部分,所以我认为它们可用并且#34;开箱即用"。

dotnet restore; dotnet update收益:

sr/share/dotnet/bin/dotnet compile-csc @/home/scratch/newapp/obj/Debug/dnxcore50/dotnet-compile.rsp returned Exit Code 1
/home/scratch/newapp/Program.cs(10,13): error CS0246: The type or namespace name 'HttpWebRequest' could not be found (are you missing a using directive or an assembly reference?)
ome/scratch/newapp/Program.cs(11,33): error CS0103: The name 'WebRequest' does not exist in the current context
ome/newapp/Program.cs(11,18): error CS0246: The type or namespace name 'HttpWebRequest' could not be found (are you missing a using directive or an assembly reference?)

(原文如此:截断的shell输出是AS-IS)

这是我的代码。

using System;
using System.Net;

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            HttpWebRequest myReq =
                (HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
            Console.WriteLine("Hello World!");
        }
    }
}

我错过了什么?在.Net Core附带的标准库中是不是System.Net?我浏览了CoreFX,但我觉得它只是.Net Core的一个组件,我应该拥有它。如果没有,我该如何安装?

1 个答案:

答案 0 :(得分:1)

使用http://packagesearch.azurewebsites.net搜索丢失的包。然后,您可以修改project.json以添加对找到的包的引用,例如System.Net.Primitives,System.Net.Sockets等。

但是,在您的情况下,WebRequest尚未在任何RC1包中提供。您必须等到Microsoft移植它,或者只是切换到其他类,例如HttpClient。

API参考站点现在不准确,因为我认为它是针对RC1和RC2之间的某些构建而构建的。许多类型出现在API参考中,但它们仅在Microsoft发布RC2时可用。