VS2010 opens my class-file (.cs) in the designer mode

只愿长相守 提交于 2019-12-29 05:44:05

问题


I've created a class that extends DbConnection in a brand new project.

public class FakeDbConnection : DbConnection { ... }

In the Solution Explorer the class looks like this:

And when double-clicking it wants to open it in design mode which won't work. Opening up the .csproj-file reveals the problem

<ItemGroup>
  <Compile Include="FakeADO\FakeDbConnection.cs">
    <SubType>Component</SubType>
  </Compile>
</ItemGroup>

Even if I remove the SubType tag VS2010 immediately re-adds it. Very annoying.

How can I stop VS2010 from opening up my .cs file in designer mode and just open it up as a regular code file?


回答1:


As described in an answer to this question you can do this:

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

Important: The attribute needs to be fully qualified otherwise VS2010 will ignore this.

Important (thanks to jmbpiano): The attribute only applies to the first class in the file.




回答2:


The inheritance hierarchy indicates that this class (DbConnection) inherits from System.ComponentModel.Component. Try right click the file and View Source instead.

As always you can check MSDN! Here is the documentation for DbConnection.




回答3:


Thats because DBConnection inherits "Component". About disabling VS to add "Subtype" in csproj-file - I don't think thats possible.

You can still aceess the code, by right-clicking in designer -> show code (I think "F7" is the shortcut key for that)



来源:https://stackoverflow.com/questions/11880589/vs2010-opens-my-class-file-cs-in-the-designer-mode

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!