sudo apt-get install dotnet
dotnet new
hello-world模板创建了一个项目。它构建并运行。dpkg -s
)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的一个组件,我应该拥有它。如果没有,我该如何安装?
答案 0 :(得分:1)
使用http://packagesearch.azurewebsites.net搜索丢失的包。然后,您可以修改project.json以添加对找到的包的引用,例如System.Net.Primitives,System.Net.Sockets等。
但是,在您的情况下,WebRequest尚未在任何RC1包中提供。您必须等到Microsoft移植它,或者只是切换到其他类,例如HttpClient。
API参考站点现在不准确,因为我认为它是针对RC1和RC2之间的某些构建而构建的。许多类型出现在API参考中,但它们仅在Microsoft发布RC2时可用。