Visual Studio 2019中Pages与Views共存时视图脚手架报错求助
解决ASP.NET Core 2.1同时使用Pages与Views时的视图脚手架报错问题
我帮你搞定这个头疼的脚手架冲突问题!你遇到的报错**"There are no scaffolders supported for this item"**,是VS2019 16.0.4这个早期版本在处理同时包含Razor Pages(Pages文件夹)和MVC Views的ASP.NET Core 2.1项目时的已知bug——脚手架会因为识别到两种不同的页面模式而混乱,不知道该调用哪种模板。下面给你几个实用的解决办法:
方法一:修改项目文件,明确启用双模式支持
直接编辑项目的.csproj文件,告诉VS同时启用MVC和Razor Pages的支持,让脚手架能正确识别:
- 右键你的项目,选择「编辑项目文件」
- 在
<PropertyGroup>节点中添加或修改以下配置:<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> <!-- 明确启用MVC和Razor Pages支持 --> <EnableMvc>true</EnableMvc> <EnableRazorPages>true</EnableRazorPages> <RazorCompileOnBuild>true</RazorCompileOnBuild> <MvcRazorCompileOnPublish>true</MvcRazorCompileOnPublish> </PropertyGroup> </Project> - 保存文件后,右键项目选择「重新加载项目」,再尝试创建视图/分部视图,应该就能正常使用脚手架了。
方法二:手动创建视图/分部视图(绕过脚手架)
如果修改项目文件后还是不行,完全可以手动创建视图,操作起来也很简单:
- 右键Views文件夹,选择「添加」→「新建项」
- 在弹出的窗口里选择「Razor视图」或「Razor分部视图」模板,输入名称后点击「添加」
- 如果需要强类型视图,手动在视图顶部添加
@model 你的项目命名空间.模型类名,比如@model MyProject.Models.User,然后按需编写视图内容即可。
方法三:升级Visual Studio 2019到更高版本
VS2019 16.0.4是比较早的版本,后续的更新已经修复了很多脚手架相关的兼容性问题。建议:
- 打开Visual Studio Installer,点击「检查更新」
- 升级到16.9.x及以上的稳定版本(ASP.NET Core 2.1在这些版本中仍然完全支持)
- 升级完成后重新打开项目,脚手架就能正常识别混合模式的项目了。
内容的提问来源于stack exchange,提问作者Morteza Nejat
相关产品推荐
相关产品推荐

