Blazor - 复制 Razor 页面导致 System.Private.CoreLib.dll 中的错误 'System.NullReferenceException'

Blazor - Copying Razor Page Causes Error 'System.NullReferenceException' in System.Private.CoreLib.dll

我有一个全新的 .Net6 Blazor 应用程序,渲染端,在 /pages/scorer.razor 有一个新添加的页面,可以正常运行和调试。

当我将 .razor 页面复制到新页面时,例如从 /pages/scorer.razor/pages/mudscorer.razor,尝试调试应用程序时抛出以下错误:

Exception thrown: 'System.NullReferenceException' in System.Private.CoreLib.dll

来源:/pages/scorer.razor

@page "/Scorer"
@attribute [Authorize()]
@attribute [Authorize(Roles = "Scoring")]
<PageTitle>MudScorer</PageTitle>

<link href="css/SleepCareStyle.css" type="text/css" rel="stylesheet" />
<style type="text/css">
    #dimScreen {
        background: rgba(255, 255, 255, 0.5);
        height: 100%;
        left: 0;
        margin: 0;
        padding: 0;
        position: fixed;
        top: 0;
        width: 100%;
    }
</style>

<table border="0" width="100%">
    <tr>
        <td class="SmallHeader">Scorer's Work List</td>
    </tr>
    <tr>
        <td>
            <ScorerWorkList></ScorerWorkList>
        </td>
    </tr>
</table>

来源:/pages/mudscorer.razor

@page "/Scorer"
@attribute [Authorize()]
@attribute [Authorize(Roles = "Scoring")]
<PageTitle>MudScorer</PageTitle>

<link href="css/SleepCareStyle.css" type="text/css" rel="stylesheet" />
<style type="text/css">
    #dimScreen {
        background: rgba(255, 255, 255, 0.5);
        height: 100%;
        left: 0;
        margin: 0;
        padding: 0;
        position: fixed;
        top: 0;
        width: 100%;
    }
</style>

<table border="0" width="100%">
    <tr>
        <td class="SmallHeader">Scorer's Work List</td>
    </tr>
    <tr>
        <td>
            <ScorerWorkList></ScorerWorkList>
        </td>
    </tr>
</table>

使 @page 指令唯一,否则路由器将不知道如何路由对 /Scorer

的请求

Source: /pages/mudscorer.razor

@page "/MudScorer" 
        ^^^
    for example

顺便说一句,不确定为什么您没有从子系统中获得更多帮助。当我制作重复的@page 指令时,我看到:

这是我最近最喜欢的运行时错误之一 - 添加一些新东西,忘记在 DI 中注册它并得到 无法为 [=29 提供值=] 'X' 类型 'Y'。没有 'Z' 类型的注册服务。经典的复制意大利面错误,每一次!