从ASP.NET Core 1.0升级到1.1后,Tag Helper Intellisense无法正常工作

时间:2016-11-27 02:07:36

标签: visual-studio-2015 asp.net-core

ASP.NET Core 1.0 to 1.1升级后。但是Tag Helper Intellisense不起作用。可能缺少什么?:

project.json

{
  "userSecretsId": "aspnet-ABCTest-6af8ade3-87ff-4468-a9ce-8bb69c696ab8",

  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.1.0",
      "type": "platform"
    },
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Mvc.Core": "1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
    "Microsoft.AspNetCore.Authentication.Cookies": "1.1.0",
    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.1.0",
    "Microsoft.AspNetCore.Identity": "1.1.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0",
    "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Configuration.UserSecrets": "1.1.0",
    "Microsoft.Extensions.Logging": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0",
    "Microsoft.Extensions.Logging.Debug": "1.1.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.1.0-preview4-final",
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.1.0-preview4-final"  },

  "tools": {
    "BundlerMinifier.Core": "2.0.238"
  },

  "frameworks": {
    "netcoreapp1.1": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

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

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "prepublish": [ "bower install", "dotnet bundle" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

更新

_ViewImports.cshtml

@using myProj
@using myProj.Models
@using myProj.Models.AccountViewModels
@using myProj.Models.ManageViewModels
@using myProj.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

构建工作正常。标记帮助程序也可以工作,但我必须对asp-controllerasp-actionasp-forasp-items等属性进行硬编码。在我转移到ASP.NET之前它已经工作了核心1.1

在Eric Anderson关于智能感知相关问题的文章here的环绕部分之前还有一个注释。不确定这是否相关。

4 个答案:

答案 0 :(得分:3)

这是我必须配置我的project.json以获取标记帮助程序intellisense的方法: 注意这些行注释掉-vs-等效的未注释:

    "dependencies": {
    "Microsoft.AspNetCore.Diagnostics": "1.1.0",
    "Microsoft.AspNetCore.Mvc": "1.1.0",
    "Microsoft.AspNetCore.Mvc.Core": "1.1.0",
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.1.0",
    "Microsoft.AspNetCore.Razor": "1.1.0",
    "Microsoft.AspNetCore.Razor.Design": "1.0.0-preview3-final",
    //"Microsoft.AspNetCore.Razor.Design": "1.1.0-preview4-final",
    "Microsoft.AspNetCore.Razor.Runtime": "1.1.0",
    "Microsoft.AspNetCore.Razor.Tools": {
        "version": "1.0.0-preview2-final",
        //"version": "1.1.0-preview4-final",
        "type": "build"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
    "Microsoft.AspNetCore.Session": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.1.0"
},

"tools": {
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final"
    //"Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final"
},

所以,基本上,* Razor.Design和* Razor.Tools都必须保持在1.0.0-preview3-final。

另请注意,正如@Alex所述,您还需要在“工具”中指定* .Razor.Tools。 我希望这有帮助。这肯定是无聊的。

Ninja编辑:不要忘记构建你的项目,因为intellisense不会工作,直到你这样做。可能还必须关闭并重新打开文件。

答案 1 :(得分:2)

Microsoft.AspNetCore.Razor.Tools的问题。

你有依赖关系,但你还需要将它添加到工具中:

 "tools": {
    "BundlerMinifier.Core": "2.0.238",
    "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final"
  },

答案 2 :(得分:2)

请注意,在我安装Razor语言服务之前,上述问题并没有解决我的问题。现在一切正常。

https://marketplace.visualstudio.com/items?itemName=ms-madsk.RazorLanguageServices

不确定是否仍然需要,但我也安装了剃须刀工具。 截至2017年5月1日,它安装了Preview4-final。

安装包Microsoft.AspNetCore.Razor.Tools -Pre

答案 3 :(得分:0)

在我的情况下,我定位了net46,然后当我更改为net461时,它再次有效。我也添加版本和导入到包部分。

"tools": {
  "Microsoft.AspNetCore.Razor.Tools": {
  "version": "1.1.0-preview4-final",
  "imports": ["portable-net45+win8"]
},
相关问题