【发布时间】:2023-03-25 05:25:01
【问题描述】:
注意:新添加的类/文件属于 Xamarin.Android 项目,并从另一个项目中引用。
使用 Add > New Item 命令将新类/文件 NewClass/NewClass.cs 添加到特定文件夹后,未检测到由编译器,由错误指示:
"找不到类型或命名空间'NewClass'(您是否缺少 using 指令或程序集引用)?
注意:我确保新类型已公开
添加NewClass的项目构建成功。错误发生在引用项目中(在单独的命名空间和程序集中)。
在清理解决方案并首先构建引用的项目失败后,我尝试了以下方法:
- 将
NewClass的定义复制到现有文件中,并在 NewClass.cs 中注释了原始文件 - 已修复错误。 - 通过注释掉复制的定义并取消注释 NewClass.cs 中的定义,将定义切换回原始位置 - 返回错误。
- 将
NewClass的定义复制到另一个现有文件中,并在 NewClass.cs 中注释了原始文件 - 已修复错误。 - 通过注释掉复制的定义并取消注释 NewClass.cs 中的定义,将定义切换回原始位置 - 错误未返回。
是否可以执行手动操作来确保编译器成功发现新添加的类?清理和重建不起作用,重新打开解决方案也不起作用。
【问题讨论】:
-
您是否确定在使用
NewClass的项目中引用了定义NewClass的项目?另外,您是否确定NewClass已在适当的命名空间中定义,并且该命名空间已在您要使用NewClass的文件中使用? -
@AlyEl-Haddad NewClass.cs 中
NewClass的定义现在可以工作(出于某种原因),所以是的,语法和语义是正确的。 -
这听起来很像您的命名空间命名问题。检查您是否在命名空间中打错了字。
-
@Sach 我在特定文件夹上使用了 Add > New Item 来查看是否会实际生成基于文件夹结构的命名空间,并且确实如此(因为文件夹之间的一致性结构和命名空间只是一个约定)。我这样做而不是复制和粘贴现有文件(像往常一样)作为快速实验。
-
我不知道是不是你的情况,但是当向文件夹添加类时,命名空间从默认的
Namespace更改为Namespace.FolderName。尝试删除.FolderName
标签: c# visual-studio xamarin.android