VS 2022中Tag Helper IntelliSense无法工作且找不到Microsoft.AspNetCore.Razor.Tools NuGet包的求助
解决VS 2022中Tag Helper及IntelliSense失效的问题
首先,你的问题核心是NuGet包版本不兼容,加上对已弃用包的误解,我给你分步骤梳理解决方案:
1. 修复NuGet包版本不一致的问题
你项目里的Microsoft.AspNetCore.Mvc.TagHelpers和Microsoft.AspNetCore.Razor是2.2.0版本,但其他ASP.NET Core相关包都是5.0.x版本,这种跨大版本的混用会直接导致Tag Helper和Razor IntelliSense无法正常工作。
你需要把这两个包的版本升级到和其他5.0系列一致的版本(比如5.0.14),修改后的ItemGroup配置如下:
<ItemGroup> <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="5.0.14" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.12" /> <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="5.0.12" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="5.0.14" /> <PackageReference Include="Microsoft.AspNetCore.Mvc.TagHelpers" Version="5.0.14" /> <PackageReference Include="Microsoft.AspNetCore.Razor" Version="5.0.14" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.14"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.12" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.12"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.2" /> </ItemGroup>
2. 关于找不到Microsoft.AspNetCore.Razor.Tools的说明
这个包在ASP.NET Core 3.0及以后的版本已经被完全弃用了,相关功能已经整合到ASP.NET Core SDK中,所以你在NuGet包管理器里搜不到是正常的,完全不需要安装它。
3. 额外的VS 2022配置检查
做完上面的操作后,你还可以做以下几步确保问题彻底解决:
- 检查
_ViewImports.cshtml文件:确保里面包含Tag Helper的全局引用,代码如下:@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers - 清理并重建项目:依次点击VS顶部菜单的「生成>清理解决方案」,然后「生成>重建解决方案」,之后重启VS。
- 验证IntelliSense设置:打开「工具>选项>文本编辑器>ASP.NET Core>Razor语言」,确保「启用IntelliSense」选项是勾选状态。
按照这些步骤操作后,Tag Helper和IntelliSense应该就能正常工作了。
内容的提问来源于stack exchange,提问作者farzad heydari
相关产品推荐
相关产品推荐

