VS2010在设计器模式下打开我的类文件(.cs)

vid*_*ige 20 c# xml ado.net visual-studio-2010

我创建了一个在全新项目中扩展DbConnection的类.

public class FakeDbConnection : DbConnection { ... }
Run Code Online (Sandbox Code Playgroud)

在Solution Explorer中,类看起来像这样: 在此输入图像描述

当双击它想要在设计模式下打开它,这将无法正常工作.打开.csproj文件会显示问题

<ItemGroup>
  <Compile Include="FakeADO\FakeDbConnection.cs">
    <SubType>Component</SubType>
  </Compile>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

即使我删除SubType标签VS2010立即重新添加它.很烦人.

如何阻止VS2010在设计器模式下打开我的.cs文件并将其打开为常规代码文件?

vid*_*ige 40

如回答此问题所述,您可以这样做:

[System.ComponentModel.DesignerCategory("Code")]
class FakeDbConnection: DbConnection { ... }
Run Code Online (Sandbox Code Playgroud)

重要提示:该属性需要完全限定,否则VS2010将忽略此属性.

重要(感谢jmbpiano):该属性仅适用于文件中的第一个类.

  • 发现问题,你需要*完全*限定属性,否则它将无法正常工作. (3认同)
  • +1找到正确的答案,而不是说,"只是忍受它" (3认同)
  • 要使这项工作值得一提,还有一个额外的要求:DesignerCategory属性需要应用于文件中的_first_类.如果您在同一代码文件中有多个类,IDE将忽略应用于以后类的任何DesignerCategory属性. (2认同)