我不确定这是一个错误还是其他什么。
我在 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 在某处缓存了这些信息。