如何解决 BlazorServer 默认项目解决方案中的命名空间错误(VisualStudio 代码)

How to resolve a namespace error in BlazorServer default project solutions (VisualStudio code)

我在多台电脑上使用 dotnet new blazorserver 在 VS 代码中创建了多个新的 BlazorServer 项目,但我总是收到此错误。

The type or namespace name 'Shared' does not exist in the namespace 'BlazorServerTutorial' (are you missing an assembly reference?) [BlazorServerTutorial]

编译和运行没有问题,但是不断显示错误非常烦人。

还有其他人能够解决这个问题吗?

Example

答案是命名空间是“推断的”(我能想到的最好的词),即 Shared 文件夹中有 Razor 文件,但没有 @namespace入口。当 Razor 编译器将它们构建到 类 时,会添加正确的命名空间信息。 Visual Studio 理解这一点,但 Visual Studio 代码显然不理解。

简单的修复方法是向 Shared 中的一个 Razor 文件添加一个 @namespace xxxxxx.Shared 条目。然后 VSC 直接查看命名空间,错误消息消失。对于任何包含 Razor 文件和推断命名空间的目录都是一样的。