我在Asp.Net Core和Blazor中遇到了Intellisense的问题,几个月来它一直无法识别新创建的类。我已经阅读了有关更改设置,Ctrl-J和删除.vs文件夹的所有其他答案,但没有一个可以解决该问题。直到今天,我找到了根。
[在Blazor工作,我将创建一个新类<Bar />
,然后尝试从父级<Foo />
调用它,Intellisense会将其标记为未找到:
错误:找到具有意外名称'Bar'的标记元素。如果这是打算用作组件,请为其名称空间添加@using指令。
当然,提供完全限定的名称不会解决投诉。但是,它编译就可以了。显然,是Intellisense在抱怨,而不是编译器。加剧但绝不是表演障碍。
但是,今天早上,当我回到我的项目(没有关闭或执行任何操作)时,<Bar />
被Intellisense识别。似乎存在某种定期的缓存刷新。很高兴知道如何在不采取激烈措施的情况下强制进行刷新。
然后复制了<Bar />
,将其重命名为<BarBar />
。当然,Intellisense无法识别它,对我咆哮,而且我确实具有正确的页面名称@page "/BarBar"
ANSWER
我注意到在Intellisense窗口中滚动有些有趣:
Bar
Bar__Copy
显然,因为我已复制Bar.razor,将其粘贴为Bar-Copy.razor,然后将其重命名为BarBar.razor,然后更改了页面指令,Intellisense卡住了与最初的分析,并忽略更改。为了解决该问题,我简单地删除了[[BarBar.razor,将其命名为BarBar.razor,并复制了Bar.razor的内容,更正了Add --> New --> Blazor Page
指示。 Intellisense现在很高兴。
ANSWER
我注意到在Intellisense窗口中滚动有些有趣:@page
显然,因为我已复制,将其粘贴为Bar-Copy.razor,然后将其重命名为BarBar.razor,并更改了页面指令。 Intellisense坚持最初的分析,并忽略了更改。为了解决该问题,我简单地删除了[[BarBar.razor,将其命名为BarBar.razor,并复制了Bar.razor的内容,更正了Bar.razor
Bar
Bar__Copy
指示。 Intellisense现在很高兴。我希望有人觉得这有用。