我不确定这是一个错误还是其他什么。
我在 VS2010 中创建了一个新的 Web 应用程序项目。在项目中,我新建了一个类(Class1),内容如下:
public void Test()
{
var s = "Hello";
Console.WriteLine(s);
}
当我将鼠标悬停s在 Console.WriteLine(s) 行上时,会出现一个显示 (local variable) string s. 太好了,正如我所料。

现在,我将一个App_Code文件夹添加到项目中。在其中,我再次创建了一个新类(Class2),其内容完全相同(类名除外)。现在,当我悬停时s,它会显示(local variable) var s。

为什么它显示var而不是string?这是一个错误吗?你能重现这种行为吗?
情况更糟。如果我将 Class2.cs 从 App_Code 文件夹移动到项目的根目录,VS2010 仍然不显示类型。即使重新启动 VS2010 并重新打开项目,VS2010 也会在 Class1 中显示正确的类型,但在 Class2 中不会。我也试过删除.suo和.csproj.user文件,但仍然没有区别。显然 VS2010 在某处缓存了这些信息。