找不到类型或命名空间。但参考资料还是有的

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

目前我在我的 C# 项目中使用 2 个引用:

using Czm.Perimetry.Analysis.Core;
using Czm.Perimetry.Analysis.IO;

当我在 Visual Studio 中查看我的项目时,没有出现错误。然而,当我运行该项目时,我得到:

Error   CS0246  The type or namespace name 'Czm' could not be found
(are you missing a using directive or an assembly reference?)       

我不明白发生了什么事,并且该项目没有出现任何其他错误。

c# types reference namespaces directive
6个回答
5
投票

检查引用的程序集 (Czm) 是否在与您的项目相同的框架上运行。

如果不是,VS 可能会误报引用,同时无法在运行时正确加载程序集。


5
投票

就我刚才的情况而言,在重构和移动项目中另一个库引用的库中的名称空间时,这些错误没有明显的原因出现。修复方法是卸载并重新加载库项目。


1
投票

如果您在多个其他项目或解决方案中引用了同一项目,请仔细检查这些项目或解决方案。从另一个解决方案重新创建引用的项目后,我必须删除并重新添加项目引用,并且我认为 GUID 已更改。


0
投票

我更新了对新版本软件 SDK 的一些引用。他们需要比我使用的.net 版本更高的版本。但我没有收到有关 .net 版本的错误。我刚刚得到一个“找不到参考”,如OP中列出的。我必须更新项目的 .net 版本以匹配引用的程序集,它解决了问题。


0
投票

这是因为在我的情况下,解决方案中的依赖关系没有正确链接。以下步骤解决了我的问题:

  1. 转到项目中的依赖项
  2. 右键单击项目,然后选择添加项目引用。
  3. 选择所需的项目参考。
  4. 重建解决方案

0
投票

对我来说,事实是我不小心更改了我正在使用的框架的版本,这与我创建不再被引用的类时不同。当我更改目标框架以匹配时,一切都很好。

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