在 blazor 中添加全局使用指令

Adding Global Using Directive in blazor

The type or namespace name 'XXX' does not exist in the namespace 'MyClassLibrary.Models' (are you missing an assembly reference?). The error refer to this BlazorProject\MyPager.azor.g.cs

在这种情况下出现此错误:

  1. 在我的 “Blazor 项目” 中创建了一个 .cs 类型的文件,并且我在该文件中使用关键字 global 添加了我所有的全局指令。
  2. 更改了我的 "Class 库中的一些名称空间"

项目结构:

  1. 使用 class 库的 Blazor 服务端项目
  2. Class图书馆.

当我进入页面时,我看不到任何错误,错误只是在 VS 中,我尝试清理解决方案、重建、关闭 VS 并重新打开,但没有解决问题。我正在使用 VS22 和 .Net6。

注意 我的 blazor 项目中也有 _Imports.razor 文件

@MisterMagoo,非常感谢。 你说的很好,而且我必须在 global directive 文件和 _Imports.razor 文件中重复相同的命名空间,所以灵魂:

  • GlobalUsings.cs:

    global using Microsoft.AspNetCore.Components;
    global using Microsoft.AspNetCore.Components.Forms;
    
  • _Imports.razor 中,如果您需要在剃刀页面中使用相同的命名空间,则必须重复它们。

    using Microsoft.AspNetCore.Components;
    using Microsoft.AspNetCore.Components.Forms;