首页 > 解决方案 > 无效的 Intellisense 错误 CS0103 ASP.NET 网站“当前上下文中不存在该名称”

问题描述

我有一个很大的 ASP.NET 网站(所以没有 Designer.cs 文件),我最近将其从 VS2012 转换为 VS2017。现在在 VS2017 中出现了几十个 Intellisense 错误,例如

CS0103 The name 'DDLxyz' does not exist in the current context 
CS0103 The name 'CBxyz' does not exist in the current context 

出现在错误列表中。这些并没有出现在 VS2012 中。这些不是真正的错误,而是无效的 Intellisense 错误,我知道这是因为

a) 该网站有效。所有“不存在”的控件都可以完美运行。

b) 当我选择过滤器“Build only”时,错误从错误列表中消失,当我选择过滤器“Build + Intellisense”时,它们会出现。

c) 奇怪但真实:当我在错误列表中双击此类错误时,相应的 aspx.cs 文件会在 VisualStudio 中打开,此后不久,有关此文件的错误将从列表中消失,文件中的红色波浪线也消失了. 所以不知何故 VS 必须知道所有这些错误都是无效的。

我从其他类似的问题中得到了什么:

我不希望这些无效错误出现在错误列表中。

如果没有其他方法,我也会使用关闭此项目的所有 CS0103 错误的可能性。

标签: c#asp.netvisual-studio-2017intellisense

解决方案


假设您的 VS2012 和 VS2017 在同一台机器上。

你可以试试:

1.导航到存在的文件夹WebsiteName.sln,因为它是在VS2012中创建的,所以该目录下应该有一个xx.suo文件。而且你在VS2017中打开后,还会有一个隐藏 .vs文件夹。

2.关闭所有VS实例,删除.vs文件夹和xx.suo文件

3.清理VS缓存。C:\users[USER]\AppData\Local\Microsoft\VisualStudio\12.0 and C:\users[USER]\AppData\Roaming\Microsoft\VisualStudio\12.0. 我还删除了 VS2017 的 15.0,然后重新打开 vs 检查此问题是否消失。


推荐阅读