我在一个全新的项目中创建了一个扩展DbConnection的类。
public class FakeDbConnection : DbConnection { ... }
在Solution Explorer中,类如下所示:
双击时想要在设计模式下打开它,这将无效。打开.csproj文件会显示问题
<ItemGroup>
<Compile Include="FakeADO\FakeDbConnection.cs">
<SubType>Component</SubType>
</Compile>
</ItemGroup>
即使我删除SubType
标签,VS2010也会立即重新添加。很烦人。
如何阻止VS2010在设计器模式下打开我的.cs文件并将其作为常规代码文件打开?
答案 0 :(得分:40)
正如对this question的回答所述,您可以这样做:
[System.ComponentModel.DesignerCategory("Code")]
class FakeDbConnection: DbConnection { ... }
重要提示:该属性必须为fully qualified,否则VS2010将忽略此属性。
重要(感谢jmbpiano):该属性仅适用于文件中的第一个类。
答案 1 :(得分:1)
继承层次结构表明此类(DbConnection
)继承自System.ComponentModel.Component
。请尝试右键单击文件并查看“查看源代码”。
一如既往,您可以查看MSDN! Here是DbConnection
的文档。
答案 2 :(得分:0)
这是因为DBConnection继承了“Component”。 关于禁用VS在csproj文件中添加“子类型” - 我认为不可能。
您仍然可以通过在设计器中右键单击来验证代码 - &gt;显示代码(我认为“F7”是该快捷键)