.Net核心标记助手智能感知和颜色编码不起作用

时间:2016-12-02 03:17:19

标签: asp.net json asp.net-mvc intellisense tag-helpers

我遇到了.NET核心和标记助手的问题。当我输入asp-for时,颜色编码和智能感知不显示或被注册。我尝试在一个单独的实例中创建一个新的解决方案,验证了intellisense的工作原理,然后将project.json复制到没有工作智能感知/颜色编码的项目中,并且它没有。解决问题。

这是我的project.json

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "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.SqlServer": "1.0.1",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.AspNetCore.Routing": "1.0.1",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },

    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    }
  },

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

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

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

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

  "publishOptions": {
    "include": [
      "wwwroot",
      "web.config"
    ]
  },

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

我还在_ViewImports文件中为mvc标记助手创建了引用/注入。这是我测试它有效的视图。 enter image description here

这是我的项目结构,以防万一你能看到我没见过的东西。

enter image description here

如果它有帮助,这是我正在使用的Visual Studio版本。

enter image description here

4 个答案:

答案 0 :(得分:20)

我分两步修好了。

1.从包管理器控制台安装Razor工具。它现在是预发布的

Install-Package Microsoft.AspNetCore.Razor.Tools –Pre
  1. 从marketplace下载并安装Razor Language Services。 (您的视觉工作室实例应该关闭)
  2. 重新启动visual studio后,intellisense和着色应该适用于标签助手。

    enter image description here

答案 1 :(得分:1)

这是一个过时的问答环节,但是我最近解决了一个类似的问题,tag helper的智能感知和加亮/着色突然停止工作,因此我将其发布以供后代使用。

我试图修复并重新安装Visual Studio,但无济于事。最终解决此问题的方法如下:

  1. 关闭Visual Studio的所有实例。

  2. 下载并安装最新的.NET Core SDK

  3. 打开“应用和功能”(添加或删除程序)

  4. 搜索“ .NET Core SDK”并卸载除最新版本(x64和/或x86)以外的所有文件。

  5. 重新打开Visual Studio。

答案 2 :(得分:0)

.net中有一个BUG,当您创建项目并以数字开头时,TagHelper将不起作用, 在我的项目中,这是一个问题

答案 3 :(得分:0)

更新

我最近遇到了这个问题,但现在的解决方案有点不同。要在 VS Code 中安装包,请在终端中运行:

dotnet add package Microsoft.AspNetCore.Razor.Tools --prerelease

如果没有解决,请删除用户文件夹中的 .vscode 文件夹,然后重新安装 C# 和其他扩展。

您不再需要安装 Razor 语言服务。重新启动 VS Code 后,一切正常。

问候!