无法在默认 Blazor 服务器端项目中找到 Razor 页面

Posted

技术标签:

【中文标题】无法在默认 Blazor 服务器端项目中找到 Razor 页面【英文标题】:Can't Locate Razor Pages in Default Blazor Server Side Project 【发布时间】:2020-01-07 02:42:55 【问题描述】:

(超级初学者提醒)

在“默认”Blazor 服务器端项目中 使用内置登录 LoginDisplay.razor 文件包含

<AuthorizeView>
<Authorized>
    <a href="Identity/Account/Manage">Hello, @context.User.Identity.Name!</a>
    <form method="post" action="Identity/Account/LogOut">
        <button type="submit" class="nav-link btn btn-link">Log out</button>
    </form>
</Authorized>
<NotAuthorized>
    <a href="Identity/Account/Register">Register</a>
    <a href="Identity/Account/Login">Log in</a>
</NotAuthorized>

我们以“身份/帐户/注册”为例:

如果我查看“身份”区域,我发现的唯一页面是

“帐户”和“共享”;没有一个包含上述页面。

我错过了什么?

谢谢

[编辑] 跟随 Chris Sainty 回答(谢谢)

但我遇到了这种情况:

https://github.com/aspnet/AspNetCore/issues/13120

尝试这个解决方案

步骤,基于 Preview8 服务器端项目,带有“个人 用户帐户”:

在 Startup 中暂时禁用此行://endpoints.MapBlazorHub(selector: "app"); 运行脚手架向导,添加所需的任何页面 再次取消对 endpoints.MapBlazorHub() 行的注释 删除 Pages/_ViewStart.cshtml 修复Pages/Shared/_Layout.cshtml,第一行缺少@using 修复Pages/Shared/_Loginpartial.cshtml,第二行缺少@inject

【问题讨论】:

上面的链接没有解决您的问题吗?您是否安装了最新的 VS 2019 预览版? 我正在尝试解决方案,但这是一个开放的github问题,环境是根据文档设置的 相关答案:***.com/a/57663817 【参考方案1】:

如果您想自定义身份页面,您必须先将它们搭建出来。

假设您要自定义注册页面,您可以右键单击您的项目并选择:

添加 > 脚手架项目 > 从左侧菜单中选择身份,然后点击确定。

然后,您将获得所有可用页面的列表,并且您可以选择要覆盖的页面。完成此操作后,文件将出现在您的项目中,您可以像往常一样自定义它们。

【讨论】:

我在解决方案后遇到了一些问题 如果您按照更新答案上的说明进行操作

以上是关于无法在默认 Blazor 服务器端项目中找到 Razor 页面的主要内容,如果未能解决你的问题,请参考以下文章

Blazor 服务器端项目不再登录

在服务器端 Blazor 项目中搭建标识时出错

将服务器端 Blazor 添加到现有 MVC Core 应用程序

添加第二个 EF 核心数据库后 Blazor 服务器端 docker 容器分段错误

无法将路由添加到 Blazor 服务器端

IJSRuntime 忽略服务器端 Blazor 项目中的自定义 json 序列化程序