MVC 6 Tag Helpers Intellisense?

2019-01-14 22:30发布

问题:

Is there supposed to be Intellisense for the new asp- tag helpers in Razor/MVC 6? I was following along on one of Shawn Wildermuth's courses on Pluralsight and everything functions properly, but I thought I should be getting intellisense when I start typing asp- as an attribute on a tag.

If it should be there do you have any ideas on what might cause it to disappear?

I'm using Visual Studio 2015 Community, and RC1-Final versions of the .Net dependencies for Kestrel, Mvc, and TagHelpers.

回答1:

Make sure you add "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final" to your project.json dependencies.

You also need to add @addTagHelper "*, Microsoft.AspNet.Mvc.TagHelpers" to your _ViewImports.cshtml to make the tag helpers available in al your views.

You can get more information at aspnet 5 documentation page



回答2:

In my case it was ReSharper, disabling I get Intellisense back



回答3:

In my case, my project did not use the project.json, I use Visual Studio 2017 with the csproj file.

I simply needed to install (Tools -> Extentions and Updates...) this tool for Visual Studio (Razor Language Services):

After I did that, I restarted Visual Studio, it installed the tool and then I got the intellisense working.



回答4:

Another thing, ensure that @addTagHelper in _ViewImports.cshtml is unquoted, for example: @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers" ----not good

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers ---good

This fixed mine...

https://github.com/aspnet/Tooling/issues/484



回答5:

You need to also have

"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1",
"Microsoft.AspNetCore.Razor.Tools": {
  "version": "1.0.0-preview2-final",
  "type": "build"
},

in your project.json dependencies, you can see all of the steps here: https://stackoverflow.com/a/40147096/550975



回答6:

In my case I needed to deactivate the IntelliSense of ReSharper (9.2) which overrides the TagHelpers.

Steps in the Visual Studio 2015 Menu:

  • Go to ReSharper -> Options... -> IntelliSense -> General
  • Check "Custom IntelliSense"
  • Except HTML I changed dropdown entries to "ReSharper"
  • Restart Visual Studio

The cshtml Razor page TagHelpers are now no longer overridden by ReSharper IntelliSense.