VS2010 открывает мой файл классов (.cs) в режиме конструктора

Я создал класс, который расширяет DbConnection в новом проекте.

public class FakeDbConnection : DbConnection { ... }

В обозревателе решений класс выглядит так:

А при двойном щелчке он хочет открыть его в режиме дизайна, который не будет работать. Открытие.csproj-файла выявляет проблему

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

Даже если я удалю SubType тег VS2010 сразу же заново его добавляет. Очень надоедливый.

Как я могу остановить VS2010 от открытия моего файла.cs в режиме конструктора и просто открыть его как обычный файл кода?

3 ответа

Решение

Как описано в ответе на этот вопрос, вы можете сделать это:

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

Важное замечание : Атрибут должен быть полностью квалифицирован, иначе VS2010 проигнорирует это.

Важно (спасибо jmbpiano): атрибут применяется только к первому классу в файле.

Иерархия наследования указывает, что этот класс (DbConnection) наследует от System.ComponentModel.Component, Попробуйте щелкнуть правой кнопкой мыши файл и просмотреть источник.

Как всегда вы можете проверить MSDN! Вот документация для DbConnection,

Это потому, что DBConnection наследует "Компонент". Об отключении VS для добавления "Subtype" в csproj-файл - я не думаю, что это возможно.

Вы все еще можете получить доступ к коду, щелкнув правой кнопкой мыши в конструкторе -> показать код (я думаю, что для этого используется комбинация клавиш "F7")

Другие вопросы по тегам