【问题标题】:Intellisense does not recognize partial classIntellisense 无法识别部分类
【发布时间】:2021-06-30 04:02:02
【问题描述】:

我正在使用 Blazorized(非常棒)运行 Blazor 测试项目,一切正常。但是,有一个小而恼人的问题,那就是 (2) 页面之一的 (.cs) 背后的代码无法识别它是剃刀文件的部分类

所以受保护的覆盖异步任务 OnInitializedAsync() 表示没有什么可以覆盖。 然而,代码工作正常,但这只是让我烦恼。尝试重建几次,退出 Visual Studio 并重新加载解决方案并删除缓存

希望有人有线索...

【问题讨论】:

  • 你能出示你的班级声明吗? (只是声明,不是正文)
  • 刚刚做了。 Visual Studio 似乎认为它不是一个局部类,因为名称和关键字 partial 是灰色的
  • 什么版本的VS?我完全没有这个问题。
  • 您的版本/配置/插件有问题。
  • 我在使用 Visual Studio 时遇到了同样的问题。您显式地从 ComponentBase 继承,然后从远程 Component 继承,这样就可以了。由于这些问题,我使用 Rider。

标签: blazor intellisense partial


【解决方案1】:

razor 文件和 razor.cs 类应该具有相同的命名空间。因此,如果您尝试更改 razor.cs 文件中的默认命名空间,它将开始给您此错误。

如果您不想使用默认命名空间,那么您可以在两个文件中定义相同的命名空间。

您可以在 razor 文件中定义命名空间,例如顶部的 @namespace TestNameSpace。在像namespace TestNameSpace这样的部分类中。

通常,组件的命名空间源自应用的根命名空间和组件在应用内的位置(文件夹)。如果应用的根命名空间是 BlazorSample,并且 Counter 组件位于 Pages 文件夹中:

  • Counter 组件的命名空间是 BlazorSample.Pages。
  • 组件的完全限定类型名称是 BlazorSample.Pages.Counter。

参考https://docs.microsoft.com/en-us/aspnet/core/blazor/components/?view=aspnetcore-5.0#namespaces

【讨论】:

  • OP 已经声明它编译得很好,这意味着命名空间是好的。
  • @HenkHolterman 问题不清楚。让我们等待OP发表评论。
  • 不是命名空间。试过了。
  • @jeroentjeathome 我的解决方案对您有用吗?您是否尝试过更改部分类的命名空间?可以在 razor 和 razor.cs 类中使用相同的命名空间吗?
  • 不,不起作用。另外,当我使用其他 blazorized 组件时,我没有这个问题。当我用自定义 HTML 选择替换 Select 组件时,它也不会破坏智能感知
猜你喜欢
  • 2017-12-07
  • 2023-01-17
  • 2023-03-17
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
  • 2022-12-10
  • 1970-01-01
相关资源
最近更新 更多