【问题标题】:Blazor not discovering new pages in subfoldersBlazor 未在子文件夹中发现新页面
【发布时间】:2020-09-29 04:30:16
【问题描述】:

我创建一个新页面,例如在 Pages/Clients/ 子文件夹中,代码如下:

@page "/clients"
@inject NavigationManager NavigationManager
<div>My clients page</div>

我放了链接:

<NavLink href="/clients" class="nav-link">Clients</NavLink>

当我点击链接时,页面会显示默认消息

抱歉,这个地址什么都没有。

然后我停止应用程序。将我的客户页面放在“页面”文件夹中。运行应用程序,我会看到正确的页面

我的客户页面

好的,然后我将我的页面文件再次移动到 Pages/Clients/ 子文件夹,运行该应用程序......它仍然可以工作!此外 - 如果我对 Clients.razor 页面进行任何更改,它会在浏览器中正确显示。

所以看起来 Blazor 第一次无法在子文件夹中找到该页面,但在它“注册”之后它以某种方式始终可以找到并正确显示它。

我有

<base href="~/" />

我的 _Host.cshtml 文件中的行

【问题讨论】:

    标签: c# asp.net blazor


    【解决方案1】:

    好吧,我与它斗争了几天,在 Stackoverflow 上发帖后,我不小心找到了答案。 在您的 .csproj 文件中有以下几行:

      <ItemGroup>
        <Watch Include="**\*.razor" />
      </ItemGroup>
    
      <ItemGroup>
        <Content Remove="Pages\Activities\ActivitiesList.razor" />
        <Content Remove="Pages\Entrance\Entrance.razor" />
        <Content Remove="Pages\Instructors\InstructorsList.razor" />
        <Content Remove="Pages\Plan\Plan.razor" />
      </ItemGroup>
    
      <ItemGroup>
        <None Include="Pages\Activities\ActivitiesList.razor" />
        <None Include="Pages\Administration\Administration.razor" />
        <None Include="Pages\Entrance\Entrance.razor" />
        <None Include="Pages\Instructors\InstructorsList.razor" />
        <None Include="Pages\Plan\Plan.razor" />
      </ItemGroup>
    
      <ItemGroup>
        <Watch Remove="Pages\Activities\ActivitiesList.razor" />
        <Watch Remove="Pages\Administration\Administration.razor" />
        <Watch Remove="Pages\Entrance\Entrance.razor" />
        <Watch Remove="Pages\Instructors\InstructorsList.razor" />
        <Watch Remove="Pages\Plan\Plan.razor" />
      </ItemGroup>
    

    我删除了大部分,只留下了这个:

      <ItemGroup>
        <Watch Include="**\*.razor" />
      </ItemGroup>
    

    现在可以正确发现所有文件。如果在开发过程中没有产生垃圾,请记住检查您的 csproj。

    【讨论】:

    • 这是 .NET 5 候选版本 1 吗?还是 .NET Core 3.*?
    • 这是.Net Core 3.1
    • 这在 .NET 6 / Visual Studio 2022 中仍然是一个问题。难以置信。这可能使我的团队花费了几天的时间。非常感谢您的回答。有什么地方可以让我将其视为严重问题吗?
    • 您可以在 ASP.NET Core 的 github repo 中创建问题:github.com/dotnet/aspnetcore
    猜你喜欢
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 2019-05-20
    • 2019-01-16
    • 2020-11-04
    • 2022-09-23
    相关资源
    最近更新 更多