脚手架失败是因为 RazorPageWithContextTemplateModel 不包含 ViewName 的定义?

Scaffolding fails because RazorPageWithContextTemplateModel doesn't contain a definition for ViewName?

我有一个 ASP.NET Core Razor Pages 项目,在我升级到 .NET Core 2.1 之前,它可以很好地使用脚手架。现在,当我尝试构建脚手架时,出现以下错误:

'Microsoft.VisualStudio.Web.CodeGenerators.Mvc.Razor.RazorPageWithContextTemplateModel' does not contain a definition for 'ViewName'
   at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.<BuildCommandLine>b__6_0()
   at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
   at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.Execute(String[] args)
   at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)

Google 没有给我太多信息,错误甚至没有指向我项目中的特定文件。我在模板中搜索了 ViewName 的所有实例,它只在 @Model.ViewName 的上下文中使用。不太确定从这里看哪里。有任何想法吗?

也许我的模板已经过时了?但是,我在哪里可以买到新的?

好的,事实证明 2.1 中的 Razor 页面模板没有 ViewName。

您需要对 \Templates\RazorPageGenerator\ 文件夹中从 "Model.ViewName" 到 "Model.RazorPageName" 的所有文件执行查找和替换。

在那之后,我的脚手架工作得很好。但我确实希望最初的错误能更好地指出实际问题。