目前我在我的 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?)
我不明白发生了什么事,并且该项目没有出现任何其他错误。
检查引用的程序集 (Czm) 是否在与您的项目相同的框架上运行。
如果不是,VS 可能会误报引用,同时无法在运行时正确加载程序集。
就我刚才的情况而言,在重构和移动项目中另一个库引用的库中的名称空间时,这些错误没有明显的原因出现。修复方法是卸载并重新加载库项目。
如果您在多个其他项目或解决方案中引用了同一项目,请仔细检查这些项目或解决方案。从另一个解决方案重新创建引用的项目后,我必须删除并重新添加项目引用,并且我认为 GUID 已更改。
我更新了对新版本软件 SDK 的一些引用。他们需要比我使用的.net 版本更高的版本。但我没有收到有关 .net 版本的错误。我刚刚得到一个“找不到参考”,如OP中列出的。我必须更新项目的 .net 版本以匹配引用的程序集,它解决了问题。
这是因为在我的情况下,解决方案中的依赖关系没有正确链接。以下步骤解决了我的问题:
对我来说,事实是我不小心更改了我正在使用的框架的版本,这与我创建不再被引用的类时不同。当我更改目标框架以匹配时,一切都很好。