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")