.NET Core项目无法正常添加Razor页面问题求助


尝试添加新Razor页面时,系统没有跳转至Razor页添加引导界面,而是直接进入通用新建项界面,无法正常添加Razor页面,本项目需要使用空Razor页面。
问题原因
该问题一般由以下几种常见情况导致:
- 项目类型不匹配:当前创建的项目未开启Razor Pages支持,比如创建的是纯Web API项目、控制台项目,或者项目SDK配置错误,IDE无法识别该项目支持Razor Pages功能
- Visual Studio组件缺失:安装VS时没有勾选
ASP.NET 和 Web 开发工作负载下的Razor相关组件,导致专属添加引导模板失效 - 项目配置错误:
.csproj项目文件头部的SDK配置不是Microsoft.NET.Sdk.Web,缺少Razor相关的运行时配置 - VS模板缓存损坏:本地Visual Studio的项目模板缓存异常,Razor页面专属添加入口无法正常触发
解决方法
1. 修正项目配置
右键项目选择「编辑项目文件」,检查头部SDK配置,空Razor Pages项目的基础配置参考如下:
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> </PropertyGroup> </Project>
如果SDK不是Microsoft.NET.Sdk.Web,直接修改为该值后保存,重启项目再尝试添加即可。
2. 临时手动添加空Razor页面
如果不需要调整全局配置,也可以直接在通用新建项界面搜索「Razor 页面」选择空模板添加,或者手动创建对应文件:
- 新建后缀为
.cshtml的页面文件,头部添加基础代码:
@page @model 你的项目命名空间.Pages.页面名Model @{ }
- 同目录下创建同名的
.cshtml.cs后置代码文件,基础代码参考:
using Microsoft.AspNetCore.Mvc.RazorPages; namespace 你的项目命名空间.Pages; public class 页面名Model : PageModel { public void OnGet() { } }
替换对应命名空间和页面名后即可正常使用。
3. 修复Visual Studio环境
- 打开Visual Studio Installer,点击「修改」,确认
ASP.NET 和 Web 开发工作负载已勾选,右侧可选组件中的Razor 语言服务、ASP.NET Core Razor 运行时编译已安装,缺失的话勾选后安装重启VS即可 - 如果依旧失效,打开VS开发者命令提示符,运行
devenv /installvstemplates重置模板缓存,重启VS后即可恢复Razor页面专属添加引导入口。
内容的提问来源于stack exchange,提问作者Damiano
相关产品推荐
相关产品推荐

