ASP.NET 5控制台应用程序dnxcore50缺少'System.Net.Http'程序集引用?

3

我正在使用 Visual Studio Code,在 OS X 操作系统上进行开发,在使用 dnxcore50 时尝试使用 System.Net.Http 进行 HTTP 请求。当我运行 mcs -debug Program.cs 后,我收到以下消息:

Program.cs(2,18): error CS0234: 命名空间“System.Net”中不存在类型或命名空间名为“Http”。是否缺少“System.Net.Http”程序集引用?`

这是我的 project.json 文件内容:

{
"version": "1.0.0-*",
"description": "Console Application",
"authors": [
    "your name"
],
"tags": [
    ""
],
"projectUrl": "",
"licenseUrl": "",
"dependencies": {
    "Newtonsoft.Json": "7.0.1",
    "System.Net.Http": "4.0.1-beta-23217",
    "Microsoft.AspNet.WebApi.Client": "5.2.3"
},
"commands": {
    "ConsoleApplication": "ConsoleApplication"
},
"frameworks": {
    "dnx451": {},
    "dnxcore50": {
        "dependencies": {
            "Microsoft.CSharp": "4.0.1-beta-23217",
            "System.Collections": "4.0.11-beta-23217",
            "System.Console": "4.0.0-beta-23217",
            "System.Linq": "4.0.1-beta-23217",
            "System.Threading": "4.0.11-beta-23217"
        }
    }
}

这个链接可能会给你一些想法,dnxcore50与System.Net.Http有更多的依赖关系。如果您可以包含它们,它可能会起作用。https://www.nuget.org/Packages/system.net.http - Mithun Pattankar
@MithunPattankar 我认为在 project.lock.json 文件中指定了所有的依赖项,因此我不必包含它们。 - Richard.Davenport
注意:Microsoft.AspNet.WebApi是ASP.NET 4的一部分,无法在ASP.NET 5上工作。请使用Microsoft.AspNet.Mvc代替(MVC 6)。 - Henk Mollema
@HenkMollema 根据这个 package,它依赖于4.5版本,因此它将与ASP.NET 5一起使用,但这与我的问题并没有太大关系。我已经在一个ASP.NET 5 MVC应用程序中使用了 Microsoft.AspNet.WebApi.Client,所以我相当有信心它可以工作。 - Richard.Davenport
可以,但是你的应用程序在DNX Core 5.0上无法编译。我只是指出可能存在依赖问题。你能运行 dnu restore 吗? - Henk Mollema
@HenkMollema,dnu restore 工作正常,我甚至可以运行 dnu build。 - Richard.Davenport
1个回答

0
如果您使用DNX,则不直接调用C#编译器。 MCS不知道如何编译新项目。 您应该改用dnu build

dnu build <path to your project.json>


我正在遵循此处的Mono调试帮助。 - Richard.Davenport
这些指令有点过时,而且很不幸地令人困惑。它们提到了ASP.NET,但那并不是针对ASP.NET 5的调试。我会联系所有者更新它们。 - Victor Hurdugaci

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接