发现使用了意外名称的标记元素:'Cascading AuthenticationState'。

39

我的 App.razor 出现了以下错误:

发现意外名称为“CascadingAuthenticationState”的标记元素。 如果这是预期的组件,添加其命名空间的 @using 指令

这是我使用的代码:

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

enter image description here

我正在使用Visual Studio 2019预览版,我可以运行这个应用程序,但是为什么级联样式表中有红线呢?


那段代码本身没问题,你可能在使用错误的包。确保你已经更新到3.0发布版本。对于现有项目,请遵循更新指南。 - H H
@HenkHolterman,您能告诉我应该安装哪个包来解决错误吗? - Ibanez1408
但我现在看到了客户端标签。您发布的App.razor是用于服务器端的。 - H H
发布你的 csproj 内容。更具体地说,包含所有 <PackageReference .. />ItemGroup - Tewr
Microsoft的dotnet存储库有一个相关问题:https://github.com/dotnet/razor-tooling/issues/4590 - mfluehr
显示剩余2条评论
8个回答

36

警告! .vs文件夹包含VS有关解决方案中项目、打开的文件、调试等收集的所有数据。如果删除,将会丢失这些信息!

关闭Visual Studios并删除解决方案根目录下的.vs隐藏文件夹。

重新启动您的项目,错误将被解决。


1
这个对我有用。我正在使用软件包的LTS版本,因此不应该需要更新! - David Jones
我原本认为这个解决方案不起作用,但是在某些情况下,VS重新索引项目依赖项并消除波浪线可能需要几分钟时间。这似乎已经解决了我的问题!谢谢! - Jerrill

21

对我来说,将两个引用都添加到_Imports.razor中解决了同样的问题:

@using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Components.Authorization

输入图像描述


不要忘记安装正确的NuGet页面,以使其正常工作。 - Justin
3
他们已经存在,但仍然面临同样的问题。删除 .vs 文件夹对我有用。 - d.i.joe
1
我在新的QuickGrid上遇到了同样的问题。虽然我是一名经验丰富的开发人员,但QuickGrid安装指南并没有告诉我需要这样做,所以我没有添加@using Microsoft.AspNetCore.Components.QuickGrid到_Imports.razor中。现在问题解决了 :-) - Simon_Weaver

4
  1. 右键项目
  2. 管理 Nuget 包
  3. 选择您已经安装的 "Microsoft.AspNetCore.Blazor"。
  4. 更新为最新稳定版本,然后...
  5. 再次更新最新的预览版。

enter image description here


我现在已经不得不做两次了,而这两次都帮助了我,因为它提醒我检查NuGet更新,解决了问题。 - Tod

4
在我的情况下,将新添加的 Razor 组件的“生成操作”从“无”更改为“内容”,这个问题就解决了。

enter image description here


3

针对 .NET 6

  • 确保已安装 Microsoft.AspNetCore.Components.Authorization NuGet 包
  • @using Microsoft.AspNetCore.Components.Authorization 添加到 _Imports.razor 文件中

1

2
我在使用VS2022时遇到了类似的问题。Blazor智能感知功能非常糟糕。应用程序编译和运行得非常完美,但是我经常看到代码中出现警告和丑陋的波浪线。 - Jason D

1
如果我通过右键单击->添加新项->Razor组件来创建Razor组件,则一切都没问题。但是,如果我复制粘贴现有的Razor组件并进行进一步的工作,则会出现上述问题。请注意保留HTML标签。

这是我见过的最终解决方法,因此您必须始终重新启动IDE才能解决它。 - mw509

0
我在使用MudBlazor组件时遇到了问题,实际上在编辑器的.razor文件中键入[Mud]时,没有看到任何MudBlazor组件。
据我所知,我尝试在.Net 8和最新版本的MudBlazor中使用,但MudBlazor的依赖列表只列出了.Net 6和.Net 7,没有列出.Net 8。
在将目标框架降级为.Net 7后,MudBlazor组件恢复正常,但奇怪的是切换回.Net 8后它们仍然存在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接