C# 为什么';当我在.csproj文件中使用通配符时,Intellisense是否在VS2010中工作?

C# 为什么';当我在.csproj文件中使用通配符时,Intellisense是否在VS2010中工作?,c#,visual-studio-2010,intellisense,C#,Visual Studio 2010,Intellisense,复制步骤: 创建一个新的C#控制台项目 编写一些代码: class Foo { } class Bar { Foo x; } 观察foox将突出显示类名。Intellisense将用于此程序集中的类 编辑.csproj文件以包含“***.cs”而不是“Program.cs”,以包含项目目录及其子目录中的所有.cs文件 出现提示时重新加载项目 请注意,C#文件仍在加载,并且仍然是项目的一部分,但Intellisense和syntax highlighting不再识别此程序集或未安装在G

复制步骤:

  • 创建一个新的C#控制台项目
  • 编写一些代码:

    class Foo { }
    class Bar
    {
        Foo x;
    }
    
  • 观察
    foox将突出显示类名。Intellisense将用于此程序集中的类
  • 编辑.csproj文件以包含“***.cs”而不是“Program.cs”,以包含项目目录及其子目录中的所有.cs文件
  • 出现提示时重新加载项目
  • 请注意,C#文件仍在加载,并且仍然是项目的一部分,但Intellisense和syntax highlighting不再识别此程序集或未安装在GAC中的第三方程序集中声明的任何类型

  • 为什么会发生这种情况?我想使用通配符来简化在Visual Studio IDE之外添加新文件的过程。

    我仍然不知道为什么会发生这种情况,但我确实找到了解决方法:将
    ***.cs
    替换为
    \***.cs
    ,就像变魔术一样,一切正常。希望这能帮助别人

    考虑在connect.microsoft.com中将此作为一个bug进行归档,到目前为止可能已经无关紧要了,但我对Visual Studio 2013社区版也有同样的问题。唯一的区别是我包含了文件夹
    中的所有文件。在另一台计算机上使用Visual Studio 2013 Ultimate尝试了同样的方法,一切都正常工作。真奇怪。我必须比较所使用的扩展,因为根据我的经验,有时候VS中的问题是由扩展导致的。