为什么Visual Studio将我的类标记为组件?

haw*_*bsl 8 ide visual-studio-2010 visual-studio-2008

一个类图

我已经将一些类复制粘贴到这个项目中,其中一些来自其他项目.在某些时候,VS已标记Class1为一个组件(您可以从上面屏幕截图中显示的图标中看到).Class2没关系 有一个在没有区别文件属性和代码之间没有有趣的差异Class1Class2(*除了见编辑下面)

它不会阻止代码编译或运行.它实际上是一个问题吗?如果双击文件,IDE会尝试打开"设计"窗口,这不方便的.

这是怎么发生的,以及如何解决?

编辑:实际上,代码窗口中存在一些有趣的差异.至少,必须有,因为删除大量代码会导致解决方案资源管理器将文件还原为Class文件.恢复块,文件返回到组件.目前......调查.

Mat*_*Mat 12

我不知道为什么会这样做,但我知道如何摆脱它.在你上课之前:

[System.ComponentModel.DesignerCategory("Code")]
Run Code Online (Sandbox Code Playgroud)

它应该工作.


dbr*_*ing 5

对于您问题的“为什么”部分(取自这篇似乎是重复的帖子):

在其继承路径上带有 System.ComponentModel.Component 的类在 Visual Studio (2008) 中被自动视为“组件”,从而触发源文件的不同图标: