我正在开发一个由多个独立运行的 Blazor 应用程序组成的项目。这些应用程序中的每一个都有相同的子模块,我们称之为
CustomLib
,它提供通用组件。它有自己的 git 存储库。
我向该库添加了一个包含一些自定义组件的文件夹,以便每个应用程序都可以使用它们。
但问题是:
其中一个应用程序(我们称之为 App X)无法识别 lib 内的这个新文件夹(或我创建的其他新文件夹),并且 Visual Studio 显示了几个错误。但是,您可以编译该程序并且运行不会出现任何问题。这些错误仅影响您使用 CustomLib 组件的部分。
错误消息显示
发现具有意外名称 {CustomComponentName} 的标记元素。 如果这是一个组件,请为其命名空间添加 @using 指令。
我添加了一个
using
指令,但它返回以下错误:
名称空间 >'CustomLib.Components' 中不存在该类型或名称空间(是否缺少程序集引用?)。
但是,它确实在
CustomLib.Components
中找到了另一个文件夹,该文件夹在创建 App X 之前是 CustomLib
的一部分。
@using CustomLib.Components.FolderA; @*<- no problem *@
@using CustomLib.Components.MyNewFolder; @* MyNewFolder is underlined in red, namespace unknown error*@
@* the following is completely red/green underlined, unexpected name error*@
<MyNewComponent>
...
</MyNewComponent>
我不知道如何解决这个问题。我删除了
bin
、.vs
和 obj
文件夹,清理了应用程序并重建了它,但没有效果。
该项目中的其他应用程序使用CustomLib
没有问题。唯一的区别是 App X 是我的同事使用 Rider 创建的,而我们其他人则使用 Visual Studio。是否有可能是使用不同的IDE导致了这个错误?如果是这样,我可以在哪里修复它?你们中有人有过这种情况的经验吗?或者是别的什么?
我查看了类似的问题(例如 Blazor 共享组件库无法解析 Blazor 组件),但它们都无法解决我的问题。
我的最后一招是再次在 Visual Studio 中创建应用程序并复制粘贴 App X 中的所有内容,但我想先问一下您。我还不太熟悉 Blazor 和 Visual Studio,因此无法找到此错误的原因。
编辑: 我刚刚注意到,它显示项目、类和变量/方法的栏,路径完全错误。它应该将 AppX 显示为项目和类,例如
AppX.Pages.Overview
。目前,它显示 CustomLib
作为项目和 CustomLib.C_.projects.appxfolder.AppX_App.Pages.Overview
。什么?为什么?这对我来说没有任何意义
<Content Remove ="...">
我想是的,有时组件会被 vs bug 从项目中删除!