Подтвердить что ты не робот

Ошибка конструктора Visual Studio 2010 при запуске

Я использую VS2010, и если у меня есть форма, открытая в режиме конструктора и запускающая мое приложение, вкладка конструктора больше не будет показывать конструктор форм, но вместо этого будет отображаться ошибка (и она фиксируется только при перезапуске IDE) говоря:

"Чтобы предотвратить возможную потерю данных перед загрузкой конструктора, следует устранить следующие ошибки:"

1 Ошибка:

"Дизайнер не может быть показан для этого файла, потому что ни один из классы внутри него могут быть разработаны. Дизайнер осмотрел следующие классы в файле: ##### --- Базовый класС##### может не загружается. Убедитесь, что на сборке указаны ссылки и что все проекты были построены"

Затем я показываю следующий стек вызовов:

в System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(менеджер IDesignerSerializationManager)
в System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(менеджер IDesignerSerializationManager)
в Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
в System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(узел IDesignerLoaderHost)

Любая помощь очень признательна, это действительно раздражает.

Спасибо,

Joel.

4b9b3361

Ответ 1

Я получаю эту визуальную студийную ошибку тоже время от времени, и я глубоко игнорирую текст ошибки, вместо этого я делаю следующее:

  • Закройте вкладку "Дизайн"
  • Открывает режим разработки двойным щелчком в обозревателе решений или щелчком правой кнопкой мыши вкладку "Исходный код" и выберите "Просмотреть конструктор"
  • Вдруг все работает снова!

Если вы не поможете, вам, возможно, придется сменить пулю 2 на: Закройте и перезапустите Visual Studio.

Возможно, это может помочь вам.

Ответ 2

Я обычно закрываю визуальную форму, перестраиваю решение, щелкаю правой кнопкой мыши, затем выбираю "представление конструктора" в коде формы.

Очень, очень раздражает. Я думаю вернуться к VS2008.

Ответ 3

Закройте форму. Очистите раствор. Перестройте решение. Повторно открыть форму. Работал для меня, когда ничего другого не было.

Ответ 4

Я могу избежать перезапуска VS, выполнив следующие

  • Добавить новый пользовательский элемент управления
  • Перетащите некоторые пользовательские элементы управления на него (если оно дает вам ошибку, снова создайте решение).
  • Восстановите свой контроль.

В моем случае у меня есть проект winforms с несколькими настраиваемыми элементами управления, которые используются другими настраиваемыми элементами управления. Всякий раз, когда я открываю некоторые из этих настраиваемых элементов управления, я получаю ошибку "Базовый класс...". Добавление нового настраиваемого элемента управления, создание проекта, а затем добавление некоторых пользовательских элементов управления из моего проекта в новый настраиваемый элемент управления позволило мне открыть настраиваемые элементы управления, которые давали мне ошибку "Базовый класс...".

ОБНОВЛЕНИЕ: Я думаю, что нашел проблему. Мои элементы управления не были правильно добавлены в файл csproj. В файле csproj файлы для частичных классов элементов/компонентов пользовательского интерфейса должны иметь атрибут "DependentUpon".

E.x.: раньше:

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

Ответ 5

У меня была такая же проблема, и я смог решить эту проблему, создав новый проект, а затем скомпилировав и запустив проект, а затем я импортировал все файлы и снова запускал проект, и автоматически он работал снова, ничего лишнего не делал.

Ответ 6

У меня была ситуация, когда пользовательский элемент управления, похоже, создавал ошибку (не уверен, почему), поэтому я удалил ссылки на пользовательский элемент управления из формы, и ошибка исчезла.

Ответ 7

Кажется, что после установки SP1 проблема ушла.

Спасибо за вашу помощь всем.

Ответ 8

У меня была та же проблема с использованием элемента управления с помощью Generics

      MvpUserControl<Presenter,IViewMode> : UserControl

что я делаю. Удалите ссылку и добавьте снова, очистите и перестройте решение. Надеюсь, это может быть полезно для кого-либо еще.

Ответ 9

У меня была такая же проблема с VS2010 SP1. Наконец, с помощью Центра обновления Windows я увидел некоторые обновления для Visual Studio и .Net, я их установил и больше не происходит.

Ответ 10

Старый пост, но для тех, кто может найти это...

Просто вмешался в эту ошибку, и для меня это было относительно простое исправление.

Установлено, что это может иметь какое-то отношение к именам ваших классов и переименовать проблематичный класс в более высокий порядок. Это алфавитный порядок, который он появляется в сборке (где A выше Z).

Статья MSDN

Удачи.

Ответ 11

Эта ошибка возникает, если класс Form не является первым классом в файле, например, если в начале файла есть вспомогательный класс.

Чтобы решить эту проблему, переместите все остальные классы, кроме класса Form, в нижнюю часть файла.

Ответ 12

Не используйте код Form1.Designer.cs. Переместите свою логику в Form1.cs (нажмите F7 на вкладке Form1.cs [Дизайн]).

Ответ 13

"В файле проекта (.vcxproj) найдите запись для цели Рамочная версия. Например, если ваш проект предназначен для использования .NET Framework 4.5, найдите v4.5 в  элемент элемента."

(Microsoft)

В моем случае "v4.5" не существовало, поэтому я добавляю его, и теперь все хорошо.

Ответ 14

Я попробовал чистое решение и пересобрать решение и работал на меня. Надеюсь, это поможет!