在命名空间system中找不到Web类型或命名空间名称。

3

我一直在尝试使用.NET Core 1.0.1。我只是想要一个简单的“Hello World”页面。在构建过程中,我遇到了以下错误:

The type or namespace name 'Web' does not exist in the namespace 'System' (are you missing an assembly reference?)

我尝试将引用添加到我的project.json文件中:

  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Routing": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "System.Web": "4.0.0" //Right here
  }

但我遇到了错误:The dependency System.Web >= 4.0.0 could not be resolved。似乎我无法像在C#控制台/ dll库中那样正常添加引用。
是否有其他软件包需要安装才能包含system.web程序集?还是有办法手动添加此引用?

请不要将标签强制放入问题标题中,如果您将它们放在标签部分中就足够了。http://stackoverflow.com/help/tagging - Tseng
1个回答

6
在.NET Core中,特别是在ASP.NET Core中,不再有System.Web。所有的ASP.NET组件都在Microsoft.AspNetCore.*和Microsoft.Extensions.*命名空间中。
例如,HttpContext存在于Microsoft.AspNetCore.Http中,而Controller存在于Microsoft.AspNetCore.Mvc中。
我建议您阅读ASP.NET Core基础知识。 (英文链接)

AspNetCore架构中,Web程序集位于哪里? - Dudemanword
在新的ASP.NET Core架构中,不存在这个东西。请参见:https://learn.microsoft.com/en-us/aspnet/core。 - Henk Mollema
那么这是一个 bug 吗?如果它不存在,那么我不应该在一个全新的项目中遇到这个错误。如果这是一个 bug...我想知道如何解决它。 - Dudemanword
不,使用dotnet core您可以为不同框架创建应用程序/库,例如完整的.net框架。在这种情况下,能够引用system.web是正确的。但在您的情况下,您只引用了asp.net core,因此该库不存在。https://learn.microsoft.com/en-us/dotnet/articles/standard/library - devlux
1
不,这不是一个bug。你自己添加了对System.Web的引用,这就导致了你看到的错误。 - Henk Mollema

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