繁体   English   中英

Visual Studio Community 2019 16.5.3 与 Blazor 应用程序 -> 添加 -> 新项目 -> Razor 组件 -> 路由或组件未呈现

[英]Visual Studio Community 2019 16.5.3 with Blazor App -> Add -> New Item -> Razor Component -> Route or component is not rendered

我有一个非常奇怪的问题。

我正在关注微软的官方 Blazor 教程:

在 Pages 文件夹中的应用程序中添加一个新的 Todo Razor 组件。 在 Visual Studio 中,右键单击 Pages 文件夹和 select 添加 > 新项目 > Razor 组件。 将组件的文件命名为 Todo.razor。 在其他开发环境中,将一个空白文件添加到名为 Todo.razor 的 Pages 文件夹中。

https://docs.microsoft.com/en-us/aspnet/core/tutorials/build-your-first-blazor-app?view=aspnetcore-3.1#build-a-todo-list

这样做:

在此处输入图像描述

这将创建一个如下所示的文件:

<h3>Todo</h3>

@code {

}

鉴于它没有路由,我将@page "/todo"添加到顶部,就像示例页面Counter.razorFetchData.razor

然后我启动应用程序,但我无法导航到

在此处输入图像描述

我尝试将路线重命名为不同的名称,检查文件夹中是否有任何废品文件,创建新文件,但我找不到任何东西。

无论我做什么,都找不到App.razor

<Router AppAssembly="@typeof(Program).Assembly">
    <Found Context="routeData">
        <AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
    </Found>
    <NotFound>
        <LayoutView Layout="@typeof(MainLayout)">
            <p>Sorry, there's nothing at this address.</p>
        </LayoutView>
    </NotFound>
</Router>

现在到了真正奇怪的部分。 如果我复制文件 Counter.razor 并将@page重命名为我想要的任何内容,它将起作用。

然后我怀疑这与编码或隐藏字符等有关。但是如果我复制整个工作文件内容并且只更改@page如果文件是从 UI 创建的,它仍然无法工作。 这可能是什么原因?

在此处输入图像描述

我没有修改任何其他内容,所做的一切只是添加一个新的 Blazor 应用程序 -> 带有个人用户帐户的 Blazor 服务器应用程序 -> 连接到云中的现有用户存储(Azure AD B2C)。

我也不能将它添加为组件。 <Todo2 />添加到Index.razor将显示,但<Todo />将为空白。

这可能是什么原因?

原来是一个.csproj问题。 存在以下值:

<ItemGroup>
  <Watch Remove="Pages\Todo.razor" />
  <Watch Remove="Pages\Todo2.razor" />
</ItemGroup>

<ItemGroup>
  <None Include="Pages\Todo.razor" />
</ItemGroup>

删除每个ItemGroup后,它再次开始工作,因为默认情况下会监视文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM