【问题标题】:The type or namespace 'system' could not be found in .Net Core app在 .Net Core 应用程序中找不到类型或命名空间“系统”
【发布时间】:2017-07-21 17:27:26
【问题描述】:

尝试在浏览器中启动我的 .Net Core 应用程序会导致 numerous errors。该项目在 VS 2015 中构建良好。我尝试清理解决方案并运行 dotnet restore,但均未解决问题。项目中的任何地方都没有遗漏 using 语句。所有依赖项都已更新。

global.json

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "1.0.0-preview2-003121"
  }
}

project.json

{
  "buildOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Hosting": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.EntityFrameworkCore": "1.0.1",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview3-final",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.DependencyInjection": "1.0.0",
    "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0"
  },

  "commands": {
    "web": "Microsoft.AspNetCore.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "net451": {
      "dependencies": {
        "Microsoft.AspNet.Web.Optimization": "1.1.3"
      }
    },
    "netcoreapp1.0": {
      "imports": [ "dnxcore50", "portable-net45+win8" ],
      "dependencies": {
        "Microsoft.NETCore": {
          "type": "platform",
          "version": "5.0.0"
        }
      }
    }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishOptions": [
    "**.user",
    "**.vspscc"
  ]

}

我已经尝试按照here 的建议“重新安装”Nuget 包管理器,我理解这意味着通过 Tools > Nuget 包管理器 > 包在 Visual Studio 中删除然后重新添加 nuget.org 包源管理器设置 > Nuget 包管理器 > 包源。这也没有证明对我来说是一个解决方案。

尽管构建成功,但我无法在浏览器中启动,这是怎么回事?如果需要更多信息,请告诉我,无论如何我都不是 .Net 专家。

【问题讨论】:

标签: c# asp.net-mvc visual-studio-2015 asp.net-core


【解决方案1】:

我不确定你在哪里找到的:

"Microsoft.NETCore": {
      "type": "platform",
      "version": "5.0.0"
}

但很可能你想要:

 "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
 }

另外,commands 不再是您可以删除的东西。您需要改用tools

【讨论】:

  • 我按照建议替换了 project.json 的上述部分,但仍然收到相同的错误,尽管这似乎是朝着正确方向迈出的一步。我将 commands 部分替换为以下内容..."tools": { "web": { "Microsoft.AspNetCore.Server.Kestrel": "1.0.1" } } ...在尝试构建解决方案时会产生以下错误:工具必须指定版本范围。尝试在 project.json 顶部以及 tools 对象内部添加 version 命令,但这也不起作用。不确定如何进行。
  • 命令并没有被重命名——它们已经消失了。从这个谈论这个docs.asp.net/en/latest/migration/…的文档开始
【解决方案2】:

我在 Visual Studio CE 2017 上的全新 .net 核心项目中遇到了同样的问题。

我通过使用工具 > NuGet 包管理器 > 管理 NuGet 包来解决这个问题,然后将 Microsoft.ApplicationInsights.ASPNetCore 更新到那里的最新稳定版本,神奇地一切都开始工作了。不确定在这种情况下是否有帮助,但似乎 .netCore SDK 的某些方面在我的 VS2017 上不存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多