Blazor 应用程序无法识别共享库中的新文件夹/组件 - IDE 兼容性问题?

问题描述 投票:0回答:1

我正在开发一个由多个独立运行的 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
。什么?为什么?这对我来说没有任何意义

visual-studio blazor git-submodules rider
1个回答
0
投票
  1. 检查项目文件(双击 blazor 项目)
  2. 搜索
    <Content Remove ="...">
  3. 删除该行
  4. 构建项目并使用组件

我想是的,有时组件会被 vs bug 从项目中删除!

© www.soinside.com 2019 - 2024. All rights reserved.