Я могу избежать перезапуска VS, выполнив следующие действия:
- Добавьте новый пользовательский элемент управления
- Перетащите на него некоторые пользовательские элементы управления (если онвыдает ошибку, создайте решение заново).
- Повторно откройте свой элемент управления.
В моем случае у меня есть проект winforms с несколькими пользовательскими элементами управления, которые используются другими пользовательскими элементами управления,Всякий раз, когда я открываю некоторые из этих пользовательских элементов управления, я получаю ошибку «Базовый класс ...».Добавление нового пользовательского элемента управления, создание проекта, а затем добавление некоторых пользовательских элементов управления из моего проекта в новый пользовательский элемент управления позволило мне открыть пользовательские элементы управления, которые давали мне ошибку «Базовый класс ...».
ОБНОВЛЕНИЕ: я думаю, что нашел проблему.Мои элементы управления не были добавлены должным образом в файл csproj.В файле csproj файлы для частичных классов элементов управления / компонентов пользовательского интерфейса нуждаются в атрибуте 'DependentUpon'.
Пример: до:
<Compile Include="Windows\Forms\DataGridView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Windows\Forms\DataGridView.Designer.cs" />
после:
<Compile Include="Windows\Forms\DataGridView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Windows\Forms\DataGridView.Designer.cs">
<DependentUpon>DataGridView.cs</DependentUpon>
</Compile>