【问题标题】:How to properly change the name of a Blazor component (razor file)如何正确更改 Blazor 组件的名称(razor 文件)
【发布时间】:2020-12-23 13:05:08
【问题描述】:

我有一个问题,我有点恼火: 假设我有一个 Blazor 组件MyCustomComponent.razor,它位于ProjectName.Client.Shared。 现在我可以像这样在我的代码中使用它:

<MyCustomComponent></MyCustomComponent>.

但是,当我通过右键单击 MyCustomComponent.razor 将那个组件重命名为例如 MyFirstCustomComponent.razor 时,IntelliSense 中仍然只有旧的组件名称,而新的组件名称不会被识别。出现此错误消息:

找到具有意外名称“MyFirstCustomComponent.razor”的标记元素。如果它打算成为一个组件,请为其命名空间添加一个 @using 指令。

即使我进行完全重建,也不会发生任何事情。

我目前的解决方案是删除旧组件并使用新名称创建一个新组件,但在我看来这并不是一个真正的好方法。

我是否还必须在其他文件中将旧名称更改为新名称?重命名后,我在代码中找不到任何旧组件名称的外观,但它仍然可以从 IntelliSense 中进行选择...

【问题讨论】:

  • 你有两个选择。将 @namespace ProjectName 放入组件中,或在 _imports.razor 中添加 using。如果我重命名 .razor 文件,有时我还必须卸载/重新加载项目,以便 IntelliSense 获取更改。
  • 我也有同样的问题。对我来说,我在 _imports.razor 中有 using 语句,我试图在同一个文件中添加导入,没关系。

标签: blazor webassembly blazor-client-side blazor-webassembly


【解决方案1】:

听起来 Intellisense 数据库已损坏。最简单的方法是重建它。

这就是我的工作:

  1. 关闭解决方案并退出 Visual Studio
  2. 删除.vs文件夹中的*.suo文件
  3. 重新启动 Visual Studio 并重新打开解决方案

Intellisense 数据库将被重建。

【讨论】:

  • 但是每次重命名剃刀文件后都这样做也不是很方便。
【解决方案2】:

我的 Visual Studio 也这样做,但通常在从编辑窗口关闭所有受影响的文件后,智能感知会赶上。有时需要几分钟,我只是继续工作直到它清除。也许尝试重建缓存,然后让它“正常”前进?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-29
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 2021-05-19
    • 2011-12-14
    相关资源
    最近更新 更多