Не появляется форма в visual studio
если конструктор Windows Forms не удается загрузить из-за ошибки в коде, стороннего компонента или в других местах, вместо конструктора отображается страница ошибки. Эта страница ошибки не обязательно означает ошибку в конструкторе. Ошибка может находиться где-нибудь на странице кода программной части с именем <your-form-name> . Designer. cs. Ошибки отображаются в свертываемых, желтых полосах со ссылкой для перехода к расположению ошибки на кодовой странице.
Можно игнорировать ошибки и продолжить загрузку конструктора, нажав кнопку Пропустить и продолжить. Это действие может привести к непредвиденному поведению, например, элементы управления могут не отображаться в области конструктора.
Экземпляры этой ошибки
Когда желтая полоса погрешностей разворачивается, отображается каждый экземпляр ошибки. многие типы ошибок содержат точное расположение в следующем формате: [Project имя] [имя формы] строка:[номер строки] столбец:[номер столбца]. Если стек вызовов связан с ошибкой, можно щелкнуть ссылку Показать стек вызовов , чтобы увидеть ее. Изучение стека вызовов может помочь в устранении ошибки.
- для Visual Basic приложений страница ошибок времени разработки не отображает более одной ошибки, но может отображать несколько экземпляров одной и той же ошибки.
- Для приложений C++ ошибки не содержат ссылок на расположение кода.
Справка по этой ошибке
Ошибки времени разработки
В этом разделе перечислены некоторые ошибки, которые могут возникнуть.
" <identifier name> " не является допустимым идентификатором
Эта ошибка указывает на неправильное именование поля, метода, события или объекта.
" <name> " уже существует в " <project name> "
" <Toolbox tab name> " не является категорией панели элементов
Сторонний конструктор пытался получить доступ к вкладке на панели элементов, которая не существует. Обратитесь к поставщику компонента.
Синтаксический анализатор запрошенного языка не установлен
Отсутствует служба, которая требуется для генерирования и анализа исходного кода
Это проблема с компонентом стороннего производителя. Обратитесь к поставщику компонента.
Произошло исключение при попытке создать экземпляр " <object name> "
сторонний конструктор запросил, чтобы Visual Studio создать объект, но объект вызвал ошибку. Обратитесь к поставщику компонента.
Другой редактор " <document name> " открыт в несовместимом режиме
Другой редактор внес изменения в " <document name> "
Закройте и снова откройте конструктор, чтобы изменения вступили в силу. обычно Visual Studio автоматически перезагружает конструктор после внесения изменений. Однако другие конструкторы, такие как сторонние конструкторы компонентов, могут не поддерживать поведение перезагрузки. в этом случае Visual Studio предлагает закрыть и снова открыть конструктор вручную.
Файл открыт в несовместимом режиме в другом редакторе
Ранг массива " <rank in array> " слишком велик
Visual Studio поддерживает только одномерные массивы в блоке кода, который анализируется конструктором. Многомерные массивы допустимы за пределами этой области.
<assembly name>Не удалось открыть сборку ""
Недопустимый тип элемента. Этот сериализатор принимает элемент типа " <type name> "
Это проблема с компонентом стороннего производителя. Обратитесь к поставщику компонента.
Не удается получить доступ к панели элементов Visual Studio
Не удается привязать обработчик событий к <event name> событию "", так как оно доступно только для чтения
Эта ошибка часто возникает при попытке подключения события к элементу управления, унаследованному от базового класса. если переменная-член элемента управления является закрытой, Visual Studio не может подключить событие к методу. К закрытым унаследованным элементам управления нельзя привязывать дополнительные события.
Не удается создать имя метода для указанного компонента, так как он не является членом контейнера конструктора
Visual Studio попытались добавить обработчик событий в компонент, который не имеет переменной-члена в конструкторе. Обратитесь к поставщику компонента.
Невозможно присвоить имя объекту " <name> ", так как он уже называется " <name> "
это внутренняя ошибка в Visual Studio сериализаторе. Он указывает, что сериализатор пытается присвоить имя объекту дважды, что не поддерживается. Если вы видите эту ошибку, зарегистрируйте проблему, выполнив инструкцию сообщить о проблеме.
Невозможно удалить или уничтожить унаследованный компонент " <component name> "
Унаследованные элементы управления являются собственностью наследуемого класса. Изменения наследуемого элемента управления должны быть сделаны в классе, из которого создается элемент управления. Поэтому вы не можете переименовать или удалить его.
Категория " <Toolbox tab name> " не содержит средство для класса " <class name> "
Конструктор попытался сослаться на класс на определенной вкладке панели элементов, но класс не существует. Обратитесь к поставщику компонента.
Класс " <class name> " не имеет соответствующего конструктора
сторонний конструктор запросил Visual Studio создать объект с определенными параметрами в конструкторе, который не существует. Обратитесь к поставщику компонента.
Не удалось создать код для свойства " <property name> "
Компонент " <component name> " не вызывал контейнер. Add () в его конструкторе
Это ошибка в компоненте, который вы только что загрузили или поместили в форму. Он указывает, что компонент не был добавлен в контейнерный элемент управления (будь то другой элемент управления или форма). Конструктор продолжит работать, но могут возникнуть проблемы с компонентом во время выполнения.
Имя компонента не может быть пустым
Эта ошибка возникает при попытке переименовать компонент в пустое значение.
Не удалось получить доступ к переменной " <variable name> ", так как она еще не инициализирована
Эта ошибка может возникать из-за двух сценариев. Поставщик стороннего компонента имеет проблему с элементом управления или компонентом, который они были распределены, или написанный вами код имеет рекурсивные зависимости между компонентами.
Не удалось найти тип " <type name> "
Не удалось загрузить тип " <type name> "
Не удалось найти шаблоны элементов проекта для унаследованных компонентов
шаблоны для наследуемых форм в Visual Studio недоступны. Если вы видите эту ошибку, зарегистрируйте проблему, выполнив инструкцию сообщить о проблеме.
Класс делегата " <class name> " не имеет метода Invoke. Является делегатом этого класса
Visual Studio попытался создать обработчик события, но возникли проблемы с типом события. Это может произойти, если событие было создано с помощью несовместимого с CLS языка. Обратитесь к поставщику компонента.
Повторяющееся объявление члена " <member name> "
Эта ошибка возникает из-за того, что переменная-член была объявлена дважды (например, Button1 в коде объявляются два элемента управления с именами). Имена должны быть уникальными в наследуемых формах. Кроме того, имена не могут отличаться только регистром.
Ошибка при чтении ресурсов из файла ресурсов для языка и региональных параметров " <culture name> "
Эта ошибка может возникать, если в проекте имеется поврежденный RESX-файл.
Ошибка при чтении ресурсов из файла ресурсов для языка и региональных параметров по умолчанию " <culture name> "
Эта ошибка может возникать, если в проекте имеется поврежденный RESX-файл для языка и региональных параметров по умолчанию.
Не удалось проанализировать метод " <method name> "
Недопустимое имя компонента: " <component name> "
Тип " <class name> " состоит из нескольких разделяемых классов в одном файле
При определении класса в нескольких файлах с помощью ключевого слова partial можно иметь только одно частичное определение в каждом файле.
<assembly name>Не удалось найти сборку ""
Недопустимое имя сборки " <assembly name> "
Компонент запросил определенную сборку, но имя, предоставленное компонентом, не является допустимым именем сборки. Обратитесь к поставщику компонента.
Базовый класс " <class name> " не может быть спроектирован
Visual Studio загружен класс, но класс не может быть спроектирован, поскольку разработчик класса не предоставил конструктор. Если класс поддерживает конструктор, убедитесь в отсутствии проблем, которые могут вызвать проблемы с отображением в конструкторе, например ошибками компилятора. Кроме того, убедитесь, что все ссылки на класс верны, и все имена классов написаны правильно. В противном случае, если класс недоступен для разработки, измените его в представлении кода.
<class name>Не удалось загрузить базовый класс ""
Класс " <class name> " не может быть спроектирован в этой версии Visual Studio
конструктор для этого элемента управления или компонента не поддерживает те же типы, что и Visual Studio. Обратитесь к поставщику компонента.
Имя класса в этом языке является недопустимым идентификатором
Не удается добавить компонент, так как он содержит циклическую ссылку на " <reference name> "
Невозможно добавить элемент управления или компонент к самому себе. Другая ситуация, в которой это может произойти, заключается в том, что в методе InitializeComponent формы (например, Form1) есть код, создающий другой экземпляр Form1.
Невозможно изменить конструктор
Эта ошибка возникает, когда файл в редакторе помечен как "только для чтения". Убедитесь, что файл не помечен как "только для чтения", а приложение не работает.
Для данного файла не удалось отобразить конструктор, так как в нем отсутствуют классы для разработки
эта ошибка возникает, когда Visual Studio не удается найти базовый класс, соответствующий требованиям конструктора. Формы и элементы управления должны быть производными от базового класса, который поддерживает конструкторы. Если вы наследуете от наследуемой формы или элемента управления, убедитесь, что проект построен.
Конструктор для базового класса " <class name> " не установлен
Visual Studio не удалось загрузить конструктор для класса. Если вы видите эту ошибку, зарегистрируйте проблему, выполнив инструкцию сообщить о проблеме.
Конструктор должен создать экземпляр типа " <type name> ", но это не может быть вызвано тем, что тип объявлен как абстрактный
Эта ошибка возникла из-за того, что базовый класс объекта, переданного в конструктор, является абстрактным, что недопустимо.
Не удалось загрузить файл в конструктор
Базовый класс этого файла не поддерживает конструкторы. Чтобы обойти это решение, используйте представление кода для работы с файлом. Щелкните правой кнопкой мыши файл в обозреватель решений и выберите команду Просмотреть код.
Язык этого файла не поддерживает службы, необходимые для создания и разбора кода
Эта ошибка, скорее всего, привела к открытию файла в проекте, который не поддерживает конструкторы.
Класс анализатора языка " <class name> " не реализован должным образом
Используемый язык зарегистрировал класс конструктора, который не является производным от правильного базового класса. Обратитесь к поставщику языка, который вы используете.
Имя " <name> " уже используется другим объектом
это внутренняя ошибка в Visual Studio сериализаторе. Если вы видите эту ошибку, зарегистрируйте проблему, выполнив инструкцию сообщить о проблеме.
Объект " <object name> " не реализует интерфейс IComponent
Visual Studio попытался создать компонент, но созданный объект не реализует IComponent интерфейс. Обратитесь к поставщику компонента за исправлением.
Объект " <object name> " вернул значение NULL для свойства " <property name> ", но это не допускается
Объект данных сериализации имеет неверный тип
Объект данных, предлагаемый сериализатором, не является экземпляром типа, который соответствует используемому текущему сериализатору. Обратитесь к поставщику компонента.
Служба " <service name> " является обязательной, но ее не удалось найти
Экземпляр службы должен быть производным от или реализовывать " <interface name> "
Эта ошибка означает, что конструктор компонента или компонента вызвал метод AddService , для которого требуется интерфейс и объект, но указанный объект не реализует указанный интерфейс. Обратитесь к поставщику компонента.
Не удалось изменить текст в окне кода
эта ошибка возникает, когда Visual Studio не удается изменить файл из-за проблем с дисковым пространством или памятью либо файл помечен как "только для чтения".
Объект перечислителя панели элементов поддерживает одновременное извлечение только одного элемента
Не удалось получить элемент панели элементов для " <component name> " из панели элементов
рассматриваемый компонент выдал исключение, когда Visual Studio получить к нему доступ. Обратитесь к поставщику компонента.
Не удалось получить элемент панели элементов для " <Toolbox item name> " из панели элементов
Эта ошибка возникает, если данные в элементе панели элементов повреждены или изменилась версия компонента. Попробуйте удалить элемент из панели элементов и снова добавить его.
<type name>Не удалось найти тип ""
при загрузке конструктора Visual Studio не удалось найти тип. Убедитесь, что ссылка на сборку, содержащую тип, указана. Если сборка является частью текущего проекта разработки, убедитесь, что проект построен.
Служба разрешения типов может быть вызвана только из потока основного приложения
Переменная " <variable name> " либо не объявлена, либо не была назначена
Обработчик команд для команды меню "" уже существует. <menu command name>
Эта ошибка возникает, если сторонний конструктор добавляет команду, уже имеющую обработчик в командную таблицу. Обратитесь к поставщику компонента.
Уже существует компонент с именем " <component name> "
Сторонний компонент выполнил обратный вызов элемента на вкладке панели элементов, но элемент уже содержал обратный вызов. Обратитесь к поставщику компонента.
Языковые средства для данного языка не поддерживаю CodeModel, с помощью которой загружается конструктор
Тип " <type name> " не имеет конструктора с параметрами типов " <parameter type names> "
Visual Studio не удалось найти конструктор с совпадающими параметрами. Это может быть результатом предоставления конструктора с типами, отличными от требуемых. Например, конструктор Point может принимать два целых числа. Если вы указали число с плавающей запятой, возникает эта ошибка.
Не удалось добавить ссылку " <reference name> " в текущее приложение
Не удалось извлечь текущий файл
Не удается найти страницу с именем " <Options dialog box tab name> "
Эта ошибка возникает, когда конструктор компонентов запрашивает доступ к странице из диалогового окна "Параметры", используя несуществующее имя. Обратитесь к поставщику компонента.
Не удается найти свойство " <property name> " на странице " <Options dialog box tab name> "
Эта ошибка возникает, когда конструктор компонентов запрашивает доступ к определенному значению на странице в диалоговом окне "Параметры", но это значение не существует. Обратитесь к поставщику компонента.
В Visual Studio не удается открыть конструктор файла, так как класс этого файла не унаследован от класса, поддерживающего визуальную разработку
Visual Studio не может сохранять или загружать экземпляры типа " <type name> "
Это проблема с компонентом стороннего производителя. Обратитесь к поставщику компонента.
Visual Studio не удается открыть " <document name> " в представление конструирования
Эта ошибка означает, что язык проекта не поддерживает конструктор и возникает при попытке открыть файл в диалоговом окне Открыть файл или обозреватель решений. Вместо этого измените файл в представлении кода.
Visual Studio не удалось найти конструктор для классов типа " <type name> "
Visual Studio загрузил класс, но класс не может быть спроектирован. Вместо этого измените класс в представлении кода, щелкнув правой кнопкой мыши класс и выбрав пункт Просмотреть код.
См. Мой список с установленными компонентами.
Вам необходимо установить его, запустив установщик.
* как видно из комментариев ниже, пользователи не смогли достичь эквивалента с помощью вкладки «Отдельные компоненты».
Я нашел путь и написал его в опциях
Мой личный опыт заключался в том, что я сначала установил клиент Team Foundation Server для 2017 года (использовал его в качестве доказательства концепции для нашей команды QA, пока я все еще использовал VS2015), а затем продолжил установку Visual Studio 2017 позже, чтобы начать развитие.
В конечном итоге в меню «Пуск» оказались Visual Studio 2017 и Visual Studio 2017 (2) . В Visual Studio 2017 (2) были все шаблоны, которые мне не хватало. Выполнение шагов, описанных в первом ответе на этот вопрос (которые были ясными и легкими для выполнения), не помогло решить мою проблему. Я думал, что запуск клиента приведет к обновлению до клиента разработки, но этого не произошло. Я переименовал его в Visual Studio Professional , и теперь у меня есть все, что мне нужно. Не уверен, случается ли это с кем-то еще, но это случилось со мной, поэтому я надеюсь, что это кому-то поможет.
ПРИМЕЧАНИЕ: этот раздел посвящен вопросам установки шаблонов проектов MS.
Я пришел сюда через поиск в Google, я искал отсутствующую опцию шаблона в меню File Visual Studio 2017: в VS-2015 это был Экспорт в шаблон , и я использовал его, чтобы добавить свой собственный стандарт Элементы проекта.
Тем временем я нашел ответ . моя проблема не была связана с шаблонами по умолчанию и не требует установки. Параметр «Экспорт в шаблон» перемещен в меню проекта VS-2017 !
Как и в случае с CSharpie, после многих попыток изменения / переустановки у меня, как ни странно, наконец-то сработало:
- запустите установщик, но отмените выбор " Разработка настольных компьютеров на C ++ ".
- разрешить установщику завершить
- снова запустите программу установки и выберите " Разработка настольных компьютеров с помощью C ++ ".
- позволить установщику завершить
Это ваша " установленная " папка
C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ ProjectTemplates
Это ваша " настраиваемая " папка
C: \ Users [ваше имя пользователя] \ Documents \ Visual Studio \ 2017 \ Templates \ ProjectTemplates
Однако у меня не было такой проблемы, когда я установил дома версию сообщества VS 2017. Это произошло, когда я установил версию Visual Studio 2017 Enterprise.
В моем случае у меня были все необходимые функции, но я установил версию Team Explorer (случайно использовал неправильный установщик) перед установкой Professional.
При запуске версии Team Explorer был доступен только вариант «Пустое решение».
Team Explorer EXE находился в: "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ TeamExplorer \ Common7 \ IDE \ devenv.exe".
Как только я запустил правильный EXE-файл, Visual Studio начала работать, как ожидалось.
Пожалуйста, проверьте изображение, которое я получаю во время открытия проекта:
Перезагрузите VS и все заработает;)
-Изменить апрель 2020
Вы можете установить предварительную версию, в которой будут включены все эти и другие функции. Как предварительный просмотр, он может быть нестабильным, но он может работать вместе с вашей обычной версией, если в предварительном просмотре что-то сломается.
- В качестве альтернативы вы можете ввести Preview Features в поле поиска, в отличие от навигации по меню
- 1 Я могу подтвердить, что проблема все еще возникает с vs2019 Community v16.5. Загрузил вчера, создал форму и сегодня не может ее открыть. любая попытка просто откройте вторую вкладку form.cs код
- Скачал VSIX, но там сказано, что он уже установлен. Кроме того, у меня все еще нет этой опции предварительного просмотра
- 3 Я использую версию 16.5.2, но просмотр дизайна все еще не отображается.
- Вам нужно использовать Visual Studio Предварительный просмотр Канал
Убедитесь, что у вас есть только форма, объявленная в вашем файле. Если у вас определено несколько классов, программа просмотра дизайна работать не будет.
- Это помогло мне, дизайнер работал нормально, пока я не добавил еще один класс в тот же файл. Это снова сработало, когда я удалил новый класс.
Просто перейдите в Просмотр> Обозреватель решений. Там вы увидите свою форму. Дважды щелкните по нему, и вы получите конструктор форм.
Я думаю, что Visual Studio при загрузке проекта загружает вкладку, которая была открыта в последний раз, когда проект был закрыт. Если код формы был открыт при закрытии проекта, проект открывается в коде формы.
См. Мой список с установленными компонентами.
Вам необходимо установить его, запустив установщик.
* как видно из комментариев ниже, пользователи не смогли достичь эквивалента с помощью вкладки «Отдельные компоненты».
Я нашел путь и написал его в опциях
Мой личный опыт заключался в том, что я сначала установил клиент Team Foundation Server для 2017 года (использовал его в качестве доказательства концепции для нашей команды QA, пока я все еще использовал VS2015), а затем продолжил установку Visual Studio 2017 позже, чтобы начать развитие.
В конечном итоге в меню «Пуск» оказались Visual Studio 2017 и Visual Studio 2017 (2) . В Visual Studio 2017 (2) были все шаблоны, которые мне не хватало. Выполнение шагов, описанных в первом ответе на этот вопрос (которые были ясными и легкими для выполнения), не помогло решить мою проблему. Я думал, что запуск клиента приведет к обновлению до клиента разработки, но этого не произошло. Я переименовал его в Visual Studio Professional , и теперь у меня есть все, что мне нужно. Не уверен, случается ли это с кем-то еще, но это случилось со мной, поэтому я надеюсь, что это кому-то поможет.
ПРИМЕЧАНИЕ: этот раздел посвящен вопросам установки шаблонов проектов MS.
Я пришел сюда через поиск в Google, я искал отсутствующую опцию шаблона в меню File Visual Studio 2017: в VS-2015 это был Экспорт в шаблон , и я использовал его, чтобы добавить свой собственный стандарт Элементы проекта.
Тем временем я нашел ответ . моя проблема не была связана с шаблонами по умолчанию и не требует установки. Параметр «Экспорт в шаблон» перемещен в меню проекта VS-2017 !
Как и в случае с CSharpie, после многих попыток изменения / переустановки у меня, как ни странно, наконец-то сработало:
- запустите установщик, но отмените выбор " Разработка настольных компьютеров на C ++ ".
- разрешить установщику завершить
- снова запустите программу установки и выберите " Разработка настольных компьютеров с помощью C ++ ".
- позволить установщику завершить
Это ваша " установленная " папка
C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ ProjectTemplates
Это ваша " настраиваемая " папка
C: \ Users [ваше имя пользователя] \ Documents \ Visual Studio \ 2017 \ Templates \ ProjectTemplates
Однако у меня не было такой проблемы, когда я установил дома версию сообщества VS 2017. Это произошло, когда я установил версию Visual Studio 2017 Enterprise.
В моем случае у меня были все необходимые функции, но я установил версию Team Explorer (случайно использовал неправильный установщик) перед установкой Professional.
При запуске версии Team Explorer был доступен только вариант «Пустое решение».
Team Explorer EXE находился в: "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ TeamExplorer \ Common7 \ IDE \ devenv.exe".
Как только я запустил правильный EXE-файл, Visual Studio начала работать, как ожидалось.
Читайте также: