名称空间不存在于Microsoft.AspNetCore'

时间:2016-07-24 15:15:15

标签: asp.net-core asp.net-core-mvc asp.net-core-1.0

我正在尝试从MVC6 beta(6.0.0-rc1-final)升级到最新的ASP.NET Core 1.0.0

我设法使用asp.net文档帮助升级我的应用程序。

但是现在,当我使用CTRL + F5运行我的应用程序时,它给了我/Views/_ViewImports.cshtml文件的错误 -

  

"类型或命名空间名称' Identity'在命名空间中不存在   ' Microsoft.AspNetCore'"

Complete error snap here

以下是我的global.json -

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

的package.json

{
  "name": "Apex",
  "version": "2.4.0",
  "devDependencies": {
    "gulp": "3.8.11",
    "gulp-concat": "2.5.2",
    "gulp-cssmin": "0.1.7",
    "gulp-uglify": "1.2.0",
    "rimraf": "2.2.8",
    "gulp-sass": "2.1.1",
    "node-sass": "3.4.2"
  }
}

appsettings.json

{
  "ApplicationInsights": {
    "InstrumentationKey": ""
  },
  "Data": {
    "DefaultConnection": {
      "ConnectionString": ""
    }
  },
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Verbose",
      "System": "Information",
      "Microsoft": "Information"
    }
  }
}

project.json

{
  "userSecretsId": "",

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

  "dependencies": {
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Identity": "1.0.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.0",

    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.EntityFrameworkCore": "1.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.0.0",
    "Microsoft.Extensions.Logging": "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",
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.0.0-preview2-final"
  },

  "tools": {
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final"
  },

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

  "frameworks": {
    "net461": {}
  },

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

  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  }
}

_ViewImports.cshtml

@using MVC6_Full_Version
@using MVC6_Full_Version.Models
@using MVC6_Full_Version.ViewModels.Account
@using MVC6_Full_Version.ViewModels.Manage
@using Microsoft.AspNetCore.Identity

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@inject Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration TelemetryConfiguration

如果您在上面看到我的_ViewImports.cshtml文件,则它具有Identity名称空间。

请指导我如何解决此运行时错误。

我的环境是 - VS2015社区版和ASP.NET core1.0和.NET framework 4.6.1

提前致谢。

1 个答案:

答案 0 :(得分:5)

尝试在"preserveCompilationContext": true

中添加project.json
  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

看看这是否有帮助。

修改

使用Razor或任何其他类型的运行时编译时,

preserveCompilationContext是必需的。没有它,Razor视图的运行时编译将失败。

有关更多信息,请参阅this link