28

在 VS2012 IDE 中打开项目时,我的项目中出现了一个奇怪的错误。在我使用另一个引用项目的地方,它突然说"Type or Namespace name could not be found"。通过“说”,我的意思是当我将鼠标悬停在它上面时,它的文本带有红色下划线和错误。智能感知不适用于该代码。但是(这是奇怪的部分),错误不会显示在错误控制台中,并且项目可以正常构建和运行。

我什至可以调试和单步调试代码,它工作得非常好。因此,在运行时项目被很好地引用,但在设计时 IDE 找不到它。这在过去的两周内有效,然后突然变得有点疯狂。这真的很烦人,因为我在没有智能感知的情况下编码很垃圾!

有没有人见过这样的事情或有什么建议?

4

10 回答 10

14

我有这个。我在项目属性的“应用程序”部分引用了“目标框架”设置为“.Net Framework 4”的程序集。我将其更改为“.Net Framework 4.5”,不仅在引用的程序集项目中,而且在我正在构建的项目中并且它有效。试试这个。

于 2013-09-11T18:58:35.177 回答
11

我发现这是 VS2012 的一个已知问题。检查您的构建方式,64 位还是 32 位。它不适用于 64 位,但适用于 32 位。它会说缺少东西并且设计将无法正常工作,但是程序会运行良好。我听说尚未发布的新 VS 更新将修复它。

于 2013-03-13T19:50:13.297 回答
5

手动删除对其他项目库的所有引用并重新添加。Intellisense 会在那时重建它需要的任何东西,并且这样做在过去对我有帮助。

于 2013-07-15T18:00:37.573 回答
3

此问题的另一个来源是多个项目包含相同命名空间的代码的解决方案。编译器可以处理这个。智能感知不会。

于 2013-11-29T09:45:19.640 回答
3

与此处的其他几个答案相关,我有一个使用“数据”命名空间的“数据”项目。构建良好,但最近才开始显示来自智能感知的错误(即使它继续构建良好。)(VS 2015。)

我通过将“数据”项目和命名空间更改为“MyCompany.Data”来解决此问题。

奇怪的是,问题似乎直到最近才出现,但做出改变确实解决了它。推测命名空间与另一个项目或引用存在冲突,可以构建良好,但智能感知无法处理。

您可以在项目属性的应用程序选项卡中更改它。您还可以打开一个EDMX 图,右键单击,选择模型浏览器,在模型浏览器选项卡中选择第二个可折叠项,点击属性,您将在那里找到生成的实体框架实体和上下文的命名空间选项。(类似地,如果您修改实体框架模型的命名空间,您可能还需要更改相关连接以匹配 [in Web.Config for ASP.Net 和 MVC。])

于 2015-10-27T18:10:38.657 回答
1

确保没有class名称与 Project 相同default namespace

于 2013-03-13T19:55:04.373 回答
1

确保您没有在 .net 4 项目中引用 .net framework 4.5 项目!

于 2013-03-14T21:23:47.213 回答
1

在文本编辑器中检查您的 .proj 文件,并确保引用的路径正确。

于 2015-01-04T20:19:20.657 回答
0

如果您在引用的文件上将Build Action设置为“None”并忘记它,也会发生这种情况。

于 2017-08-29T17:35:11.107 回答
0

我遇到了同样的问题,它可以正常构建和运行,但它总是会显示该错误,我无法在课堂上使用智能感知。

我实际上使用在新文件中创建类的自动方法来解决问题,然后只是从真实类中复制代码。我删除了旧文件,重命名了新文件,现在它可以工作了。

于 2017-12-05T20:45:36.073 回答