Не открывается проект в visual studio
последнее, что я делал, было добавить таймер в пользовательский элемент управления, который обновляет цвет. Теперь каждый раз, когда я открываю проект, он загружает его, а затем говорит: "Visual Studio перестала работать".
Я заметил, что Visual Studio "запускает" таймер в режиме конструктора, поэтому я подумал, что это может вызвать проблему, поэтому я удалил таймер из конструктора.cs, а затем переименовал все файлы, которые открывала Visual Studio, но все равно он аварийно завершает работу. Все остальные проекты работают нормально. Это 4-е время, когда это случилось со мной. Я использую Visual Studio 2012 Ultimate. Любые предложения, пожалуйста?
похоже, что ваши настройки решения были повреждены, когда студия разбилась. Вы можете сбросить их, удалив :
- убедитесь, что вы можете Показывать скрытые файлы
- найдите решение в Проводнике Windows. Это должно быть
- должен быть скрытый *.suo файл в той же папке. Удалить его.
это сбросит все настройки вашего решения, в том числе окна были открыты.
отключение расширений Visual Studio исправлено для меня
Инструменты -> Расширения и обновления -> установлен
в моем случае, Web Essentials был причиной проблемы
надеюсь, что это помогает!
закройте все экземпляры VS 2012. Откройте VS 2012 в режиме администратора (только VS 2012 без решения), затем с помощью этого экземпляра VS попробуйте открыть проект *.ФСЛ.
Он должен открыться должным образом. Для меня только это решение работает, ни удаление *.файл suo не отключает расширения и обновления.
надеюсь, что это помогает. Наслаждаться. Что вас останавливает:)
Если у вас есть другая версия Visual Studio на вашем компьютере, откройте ее. Щелкните Отладка - > Присоединить К Процессу. Выберите другой процесс Visual Studio. Вы должны видеть только одного. Имя процесса-devenv.исполняемый.
теперь повторите проблему в сломанном VS. Он сломается на исключении в unbroken VS.
в моем случае исключение выглядело так
необработанное исключение типа System.Исключение typeloadexception' произошло в Microsoft.VisualStudio.Платформа.Вседитор.dll файлы
дополнительная информация: тип метода 'Connect' 'В JetBrains.ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС.SrcView.ContextNotifications.ContextNotificationControl' от JetBrains сборку.Платформа.UI, версия=104.0.0.0, Культура=нейтральная, PublicKeyToken=1010a0d8d6380325 ' не имеет реализация.
я исправил это, запустив установщик Resharper и установив опцию восстановления.
убедитесь, что права доступа к файлам согласованы. Если bin или obj папки не могут быть доступны, Visual Studio может аварийно завершить работу. Установите права собственности и разрешения на файл в свойствах файла - > безопасность - > дополнительно.
очистка моего кэша TFS работала для меня.
- закройте все экземпляры Visual Studio на клиентском компьютере
- вручную удалите соответствующую папку кэша клиента TFS, а затем запустите Visual Studio
соответствующие папки TFS для удаления вручную выглядят следующим образом:
TFS 2017: %localappdata%\Microsoft\Team Foundation.0\Cache\
TFS 2015: %localappdata%\Microsoft\Team Foundation.0\Cache\
TFS 2013: %localappdata%\Microsoft\Team Foundation.0\Cache\
TFS 2012: %localappdata%\Microsoft\Team Foundation.0\Cache\
Визуал Студио не отображает проект, он его открывает, но там нет ни вкладки с кодом ни с самой формой
Может надо нажать треугольник рядом с WindowsFormsApp3 и посмореть что там?
В частности два раза на щелкнуть на коде от дизайнера форм после раскрытия. ^_^
Если ошибка - уже писать сюда.
Реально хотя-бы ветку раскрыли, а то не видно что с проектом _вообще_!
Может и всё нормально с ним. Просто все окна закрыты =)
P.S: Windows Forms + C++ крайне не рекомендую. Собственно и Microsoft сам не в воссторге от своей-же "технологии" скрещивания удава с носорогом.
Танец с бубном от компании Microsoft :)
Для того, чтобы создать проект Windows Forms в среде Visual Studio C++2017 необходимо убедиться в том, что пакет C++/CLI установлен. Для этого запустите Visual Studio Installer и нажмите кнопку Изменить. На вкладке Рабочие нагрузки для общего компонента Разработка классических приложений на C++ должна быть установлена галочка. Если её нет, то установите её. На вкладке Отдельные компоненты в окне слева прокрутите список компонентов вниз до раздела Компиляторы, средства сборки и среды выполнения и напротив компонента Поддержка C++/CLI установите галочку. В правом нижнем углу нажмите кнопу Изменить. Начнётся загрузка, после которой будет выполнена последующая установка. Если галочки везде проставлены, то можно перейти к выполнению первого пункта Инструкции. Если нет, то закройте Visual Studio и откройте её снова. После того как откроется окно среды выполните следующие пункты:
using namespace System;
using namespace System::Windows::Forms;
[STAThreadAttribute]
void Main(array^ args) Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
WindowsForms::MyForm form;
Application::Run(%form);
>
22. Сохраните файл, закройте, а затем снова откройте Visual Studio и запустите свой проект: Файл / Последние проекты и решения
23. Нажмите клавишу F5
Visual Studio включает эффективный интегрированный набор средств сборки и отладки проектов. Из этой статьи вы узнаете, как Visual Studio может помочь обнаружить проблемы в коде с помощью построения выходных данных, анализа кода, средств отладки и модульных тестов.
Мы разобрались, как работать с редактором, и написали код. Теперь необходимо убедиться, что код работает должным образом. Отладка в Visual Studio, как и в большинстве интегрированных сред разработки (IDE), осуществляется в два этапа: построение кода для обнаружения и устранения ошибок проекта и компилятора и выполнение кода для обнаружения ошибок времени выполнения и динамических ошибок.
Сборка кода
Существует два основных типа конфигурации сборки: отладка и выпуск. При использовании конфигурации отладка создается более крупный и медленный исполняемый файл, обеспечивающий более широкие интерактивные возможности отладки во время выполнения. Исполняемый файл конфигурации отладка никогда не следует отправлять. Конфигурация выпуск позволяет создать более быстрый оптимизированный исполняемый файл, подходящий для отправки (по крайней мере с точки зрения компилятора). По умолчанию используется конфигурация Отладка.
Самый простой способ выполнить сборку проекта — нажать клавишу F7, однако вы также можете начать сборку, выбрав в главном меню пункты Сборка > Собрать решение.
Процесс сборки можно наблюдать в окне Вывод в нижней части пользовательского интерфейса Visual Studio. Здесь отображаются ошибки, предупреждения и операции сборки. При наличии ошибок (или предупреждений выше заданного уровня) сборка завершится ошибкой. Можно щелкнуть ошибку и предупреждение, чтобы перейти к строке, где они возникли. Для перестроения проекта можно нажать клавишу F7 (чтобы перекомпилировать только файлы с ошибками) или CTRL+ALT+F7 (для чистого полного перестроения).
После успешного выполнения построения вы увидите примерно следующие результаты в окне Вывод:
Просмотр списка ошибок
Если вы внесли какие-либо изменения в код, который был ранее и успешно скомпилирован, возможно, возникнет ошибка. Если вы новичок в написании кода, возможно, их будет много. Ошибки иногда очевидны, например простая синтаксическая ошибка или неправильное имя переменной, а иногда их причину трудно выяснить, имея в распоряжении только зашифрованный код. Чтобы получить более четкое представление о проблеме, перейдите вниз окна Вывод сборки и щелкните вкладку Список ошибок. При этом вы перейдете к более организованному представлению ошибок и предупреждений для проекта и получите доступ к некоторым дополнительным параметрам.
Щелкните строку ошибки в окне Список ошибок, чтобы перейти в строку кода, в которой возникла ошибка. (Кроме того, номера строк можно включить, нажав клавиши Ctrl+Q, введя номера строк, а затем выбрав Включить или отключить отображение номеров строк в результатах. Это самый быстрый способ перехода в диалоговое окно Параметры, где можно включить номера строк.
Нажмите клавиши CTRL+G для быстрого перехода к номеру строки, в которой возникла ошибка.
Ошибку можно узнать по подчеркиванию красной волнистой линией Чтобы получить дополнительные сведения, наведите на нее указатель мыши. Внесите исправления, и подчеркивание исчезнет, хотя в результате исправления может возникнуть новая ошибка (это называется "регрессия").
Пройдите список ошибок и устраните все ошибки в коде.
Просмотр подробных сведений об ошибках
Многие ошибки трудны для восприятия, будучи представленными в терминах компилятора. В этом случае могут потребоваться дополнительные сведения. Из окна Список ошибок можно выполнить автоматический поиск в поисковой системе Bing для получения дополнительных сведений об ошибке или предупреждении. Щелкните правой кнопкой мыши по соответствующей строке записи и выберите Показать справочные сведения об ошибке из контекстного меню или щелкните гиперссылку с кодом ошибки в столбце код в списке ошибок.
В зависимости от настроек результаты поиска по коду и описанию ошибки откроются в веб-браузере либо во вкладке Visual Studio с результатами поиска Bing. Представленные результаты — из различных источников в Интернете, и, возможно, не все они будут полезными.
Анализ кода
Средства анализа выполняют поиск общих проблем в коде, которые могут привести к ошибкам времени выполнения или проблемам управления кодом.
Анализ кода C++
Чтобы выполнить анализ кода C++, запустите статический анализ кода. Запустить этот компонент после устранения всех очевидных ошибок, препятствующих успешной сборке, и потратить некоторое время, чтобы устранить создаваемые им предупреждения, — очень полезная привычка. Вы сможете избавиться от определенных будущих проблем, а также научитесь некоторым полезным приемам написания кода.
Нажмите клавиши ALT+F11 (или выберите в верхнем меню команду Анализ > Выполнить анализ кода в решении) для запуска статического анализа кода.
Все новые или обновленные предупреждения отображаются на вкладке Список ошибок в нижней части интегрированной среды разработки. Щелкните предупреждение для перехода к нему в коде.
Использование быстрых действий для исправления или рефакторинга кода
Если вы привыкли работать с клавиатурой, вы можете использовать клавиши со стрелками и сочетание клавиш CTRL+ . для проверки возможностей оптимизации и очистки кода!
Запуск очистки кода
Помимо форматирования пробелов, отступов и т. п., функция Очистка кода применяет определенные вами соглашения о стиле кода. Ваши настройки для каждого стиля кода считываются из файла EditorConfig, если такой существует в проекте, или из раздела Параметры стиля кода, который доступен через диалоговое окно Параметры.
Отладка выполняемого кода
Успешно завершив сборку кода и его очистку, запустите код, нажав клавишу F5 или выбрав команду Отладка > Начать отладку. Приложение будет запущено в среде отладки, и вы сможете пронаблюдать его поведение. Интегрированная среда разработки Visual Studio изменяется во время выполнения приложения: окно Вывод заменяется двумя новыми окнами (в конфигурации окон по умолчанию): окном с вкладками Видимые/Локальные/Контрольные значения и окном с вкладками Стек вызовов/Точки останова/Параметры исключений/Вывод. Эти окна имеют несколько вкладок, которые позволяют просмотреть и проверить переменные, потоки, стеки вызовов приложения и другие характеристики поведения во время выполнения приложения.
Остановите приложение, нажав клавиши SHIFT+F5 или кнопку Остановить. Кроме того, можно просто закрыть главное окно приложения (или диалоговое окно командной строки).
Задание простых точек останова
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода. После установки или удаления точек останова перестраивать проект не нужно.
Установите точку останова, щелкнув дальнее поле строки, в которой требуется приостановить выполнение, или нажмите клавишу F9, чтобы установить точку останова в текущей строке кода. Выполнение кода прерывается (останавливается) перед инструкциями для этой строки кода.
Чаще всего точки останова используются для решения следующих задач.
Чтобы точнее определить источник аварийного завершения или отсутствия отклика программы, расставьте точки останова вокруг и непосредственно в коде вызова метода, который, по вашему мнению, приводит к сбою. При выполнении кода в отладчике удаляйте, а затем снова устанавливайте точки останова ближе друг к другу, пока не найдете строку кода, вызывающую ошибку. Выполнение кода в отладчике описывается в следующем разделе.
При добавлении нового кода установите точку останова в его начале и выполните код, чтобы убедиться в том, что он работает правильно.
При реализации сложного поведения задайте точки останова для алгоритмического кода, чтобы можно было проверить значения переменных и данные при прерывании программы.
При написании кода C или C++ используйте точки останова для остановки кода, чтобы можно было проверить значения адреса (ищите значение NULL) и просмотреть значения счетчиков при отладке ошибок, связанных с памятью.
Дополнительные сведения о точках останова см. в статье Использование точек останова.
Проверка кода во время выполнения
Когда выполнение кода приостанавливается из-за достижения точки останова, строка кода, помеченная желтым цветом (текущий оператор), еще не выполнена. Вы можете выполнить текущий оператор и проверить, как изменились значения. Для выполнения кода в отладчике можно использовать ряд команд пошагового выполнения. Если отмеченный код является вызовом метода, вы можете выполнить шаг с заходом, нажав клавишу F11. Кроме того, можно выполнить шаг с обходом строки кода, нажав клавишу F10. Дополнительные команды и подробные сведения о пошаговом выполнении кода см. в статье Навигация по коду с помощью отладчика.
Код, представленный на предыдущей иллюстрации, может выполняться отладчиком по одному оператору. Для этого можно нажимать клавишу F10 или F11 (так как здесь нет вызова метода, результат выполнения обеих команд будет одинаковым).
Когда отладчик приостанавливает выполнение, можно проверить переменные и стеки вызовов, чтобы разобраться в происходящем. Находятся ли значения в тех диапазонах, которые вы ожидали увидеть? Выполняются ли вызовы в правильном порядке?
Наведите курсор на переменную для просмотра ее текущего значения и ссылок. Если отображается значение, которое вы не ожидали увидеть, возможно, в предыдущем или вызывающем коде имеется ошибка. Более подробные сведения об отладке см. в статье об использовании отладчика.
Кроме того, Visual Studio выводит на экран окно средств диагностики, где можно наблюдать за загрузкой ЦП и использованием памяти приложением в динамике по времени. В дальнейшем в процессе разработки приложения эти средства можно применять для выявления случаев непредвиденно высокой загрузки ЦП или чрезмерного выделения памяти. Это окно можно использовать в сочетании с окном Контрольные значения и точками останова, чтобы определить причину непредвиденно интенсивного использования или неосвобожденных ресурсов. Дополнительные сведения см. в статье Обзор возможностей профилирования.
Запуск модульных тестов
Модульные тесты — это первая линия защиты от ошибок в коде, так как при правильном проведении они позволяют проверять отдельные "модули" кода (как правило, это отдельные функции), которые проще отлаживать, чем всю программу. Visual Studio устанавливает платформу модульного тестирования Майкрософт для управляемого и машинного кода. Платформа модульного тестирования используется для создания модульных тестов, их запуска и передачи результатов таких тестов. Завершив внесение изменений, запустите модульные тесты повторно, чтобы убедиться, что код по-прежнему работает правильно. При использовании выпуска Visual Studio Enterprise можно настроить автоматический запуск тестов после каждой сборки.
Чтобы приступить к работе с модульными тестами, ознакомьтесь со статьей Создание модульных тестов для кода с помощью IntelliTest.
Дополнительные сведения о модульных тестах в Visual Studio, а также о том, как они могут помочь в создании более качественного кода, см. в статье Основные сведения о модульных тестах.
Если конструктор Windows Forms не загружается из-за ошибки в коде, в стороннем компоненте или где-то еще, вместо конструктора появится страница ошибок. Эта страница ошибок не обязательно означает ошибку в конструкторе. Ошибка может находиться где-то на странице с выделенным кодом с именем .Designer.cs. Ошибки отображаются в свертываемых желтых строках со ссылкой для перехода к расположению ошибки на кодовой странице.
Вы можете игнорировать ошибки и продолжить загрузку конструктора, нажав кнопку Пропустить и продолжить. Это действие может привести к непредвиденному поведению, например, элементы управления могут не отображаться в области конструктора.
Экземпляры ошибки
При развертывании желтой строки ошибок отображается каждый экземпляр ошибки. Многие типы ошибок содержат точное местоположение в следующем формате: [имя_проекта][имя формы] строка:[номер строки] столбец:[номер столбца]. Если с ошибкой связан стек вызовов, можно щелкнуть ссылку Показать стек вызовов. Изучение стека вызовов может помочь устранить ошибку.
- Для приложений Visual Basic на странице ошибок во время разработки отображается только одна ошибка, но может отображаться несколько экземпляров одной и той же ошибки.
- Для приложений C++ ошибки не содержат ссылок на расположение кода.
Справка по ошибке
Ошибки времени разработки
В этом разделе перечислены потенциальные ошибки.
не является допустимым идентификатором
Эта ошибка указывает, что поле, метод, событие или объект имеют неправильное имя.
уже существует вотсутствует на панели элементов
Сторонний конструктор пытался получить доступ к вкладке на панели элементов, которая не существует. Обратитесь к поставщику компонентов.
Синтаксический анализатор запрошенного языка не установлен
Отсутствует служба, которая требуется для генерирования и анализа исходного кода
Это проблема со сторонним компонентом. Обратитесь к поставщику компонентов.
Произошло исключение при попытке создать экземплярСторонний конструктор запросил у Visual Studio создание объекта, но объект вызвал ошибку. Обратитесь к поставщику компонентов.
Документ открыт в несовместимом режиме в другом редакторе
Изменения в документ уже внесены в другом редакторе
Закройте и снова откройте конструктор, чтобы изменения вступили в силу. Как правило, Visual Studio автоматически перезагружает конструктор после внесения изменений. Однако другие конструкторы, такие как сторонние конструкторы компонентов, могут не поддерживать поведение перезагрузки. В этом случае Visual Studio предлагает закрыть и повторно открыть конструктор вручную.
Файл открыт в несовместимом режиме в другом редакторе
Слишком высокий ранг массиваVisual Studio поддерживает только одномерные массивы в блоке кода, анализируемом конструктором. Многомерные массивы допустимы за пределами этой области.
Не удалось открыть сборку Неправильный тип элемента. Этот сериализатор ожидает элемент типаЭто проблема со сторонним компонентом. Обратитесь к поставщику компонентов.
Не удается получить доступ к панели элементов Visual Studio
Visual Studio сделала вызов к панели элементов, которая была недоступна. Если вы видите эту ошибку, зарегистрируйте ее с помощью функции Сообщить о проблеме.
Не удается привязать обработчик событий к событию , так как событие доступно только для чтения
Эта ошибка чаще всего возникает при попытке подключить событие к элементу управления, наследуемому от базового класса. Если переменная, входящая в элемент управления, является закрытой, Visual Studio не удается подключить событие к методу. К наследуемым в частном порядке элементам управления невозможно привязывать дополнительные события.
Не удается создать имя метода для указанного компонента, так как он не является членом контейнера конструктора
Visual Studio попыталась добавить обработчик событий в компонент, не имеющий переменной-члена в конструкторе. Обратитесь к поставщику компонентов.
Не удается присвоить объекту имя , поскольку у него уже есть имяЭто внутренняя ошибка в сериализаторе Visual Studio. Она указывает, что сериализатор дважды пытался назвать объект, что не поддерживается. Если вы видите эту ошибку, зарегистрируйте ее с помощью функции Сообщить о проблеме.
Не удается удалить или уничтожить унаследованный компонентНаследуемые элементы управления находятся под контролем наследующего класса. Изменения в наследуемом элементе управления должны быть внесены в класс, из которого создается элемент управления. Таким образом, нельзя переименовать или уничтожить его.
В категории нет инструмента для классаКонструктор пытался ссылаться на класс на определенной вкладке панели элементов, но класс не существует. Обратитесь к поставщику компонентов.
Для класса отсутствует соответствующий конструктор
Сторонний конструктор запросил Visual Studio создать объект с определенными параметрами в конструкторе, который не существует. Обратитесь к поставщику компонентов.
Не удалось создать код для свойстваКомпонент не вызвал метод Container.Add() в своем конструкторе
Это ошибка в компоненте, который вы только что загрузили или поместили в форму. Она указывает, что компонент не добавил себя в контейнерный элемент управления (будь то другой элемент управления или форма). Конструктор продолжит работу, но во время выполнения могут возникнуть проблемы с компонентом.
Имя компонента не может быть пустым
Эта ошибка возникает при попытке переименовать компонент в пустое значение.
Не удалось получить доступ к переменной , так как она еще не инициализирована
Эта ошибка может возникнуть из-за двух сценариев. У стороннего поставщика компонентов возникла проблема с элементом управления или компонентом, которые они распространили, или написанный вами код имеет рекурсивные зависимости между компонентами.
Не удалось найти тип Не удалось загрузить типНе удалось найти шаблоны элементов проекта для унаследованных компонентов
Шаблоны для унаследованных форм в Visual Studio недоступны. Если вы видите эту ошибку, зарегистрируйте ее с помощью функции Сообщить о проблеме.
Делегат класса не имеет метод вызова. Является ли этот класс делегатом
Visual Studio попыталась создать обработчик событий, но с типом события возникла ошибка. Это может произойти, если событие было создано языком, не соответствующим CLS. Обратитесь к поставщику компонентов.
Повторное объявление членаЭта ошибка возникает из-за того, что переменная-член была объявлена дважды (например, два элемента управления Button1 объявляются в коде). Имена должны быть уникальными в унаследованных формах. Кроме того, имена не могут различаться только регистром.
Ошибка чтения ресурсов из файла ресурсов для языка и региональных параметровЭта ошибка может возникнуть, если в проекте имеется неправильный RESX-файл.
Ошибка чтения ресурсов из файла ресурсов для языка и региональных параметров по умолчаниюЭта ошибка может возникнуть, если в проекте имеется неправильный RESX-файл для языка и региональных параметров по умолчанию.
Не удалось проанализировать метод Недопустимое имя компонента:Тип класса образуется несколькими разделяемыми классами из того же файла
При определении класса в нескольких файлах с помощью ключевого слова partial в каждом файле может быть только одно частичное определение.
Чтобы устранить эту ошибку, удалите все, кроме одного частичного определения класса из файла.
Не удалось найти сборкуНедопустимое имя сборки .
Компонент запросил определенную сборку, но имя, предоставленное компонентом, не является допустимым именем сборки. Обратитесь к поставщику компонентов.
Не удается создать базовый классVisual Studio загрузила класс, но этот класс не может быть создан, так как средство реализации класса не предоставило конструктор. Если класс поддерживает конструктор, убедитесь, что у вас нет проблем, вызывающих ошибки с отображением в конструкторе, например ошибки компилятора. Кроме того, убедитесь, что все ссылки на класс правильные, все имена классов написаны без ошибок. В противном случае, если класс недоступен для создания, измените его в представлении кода.
Не удалось загрузить базовый классНевозможно создать класс в этой версии Visual Studio
Конструктор для этого элемента управления или компонента не поддерживает те же типы, что и Visual Studio. Обратитесь к поставщику компонентов.
Имя класса в этом языке является недопустимым идентификатором
Не удается добавить компонент, так как он содержит циклическую ссылку наНельзя добавить элемент управления или компонент в него же. Другая ситуация, когда это может произойти: в методе InitializeComponent формы (например, Form1) есть код, который создает другой экземпляр Form1.
Невозможно изменить конструктор
Эта ошибка возникает, когда файл в редакторе помечается как доступный только для чтения. Убедитесь, что файл не помечен только для чтения и приложение не запущено.
Для данного файла не удалось отобразить конструктор, так как в нем отсутствуют классы для разработки
Эта ошибка возникает, когда Visual Studio не удается найти базовый класс, удовлетворяющий требованиям конструктора. Формы и элементы управления должны быть производными от базового класса, поддерживающего конструкторы. Если вы создаете производный элемент из унаследованной формы или элемента управления, убедитесь, что проект создан.
Не установлен конструктор базового классаVisual Studio не удалось загрузить конструктор для класса. Если вы видите эту ошибку, зарегистрируйте ее с помощью функции Сообщить о проблеме.
Конструктор должен создать экземпляр типа , однако сделать это не удалось, поскольку тип объявлен абстрактным
Эта ошибка произошла из-за того, что базовый класс объекта, передаваемого конструктору, является абстрактным, а это запрещено.
Не удалось загрузить файл в конструктор
Базовый класс этого файла не поддерживает конструкторы. В качестве обходного решения используйте представление кода для работы с файлом. Щелкните правой кнопкой мыши файл в обозревателе решений и выберите пункт Просмотр кода.
Язык этого файла не поддерживает службы, необходимые для создания и разбора кода
Эта ошибка, скорее всего, возникла из-за открытия файла, который находится в проекте, не поддерживающем конструкторы.
Класс синтаксического анализатора языка не реализован должным образом.
Используемый язык зарегистрировал класс конструктора, который не является производным от правильного базового класса. Обратитесь к поставщику используемого языка.
Имя уже используется другим объектом
Это внутренняя ошибка в сериализаторе Visual Studio. Если вы видите эту ошибку, зарегистрируйте ее с помощью функции Сообщить о проблеме.
В объекте не реализован интерфейс IComponent
Visual Studio попыталась создать компонент, но созданный объект не реализует интерфейс IComponent. Обратитесь к поставщику компонентов за исправлением.
Объект вернул пустое значение для свойства , что недопустимо
Объект данных сериализации имеет неверный тип
Объект данных, предлагаемый сериализатором, не является экземпляром типа, соответствующего используемому текущему сериализатору. Обратитесь к поставщику компонентов.
Не удается определить расположение требуемой службыСлужба, необходимая Visual Studio, недоступна. Если вы пытались загрузить проект, который не поддерживает этот конструктор, используйте редактор кода для внесения необходимых изменений. В противном случае, если вы видите эту ошибку, зарегистрируйте ее с помощью функции Сообщить о проблеме.
Экземпляр службы должен быть производным от интерфейса или содержать его реализацию
Эта ошибка указывает, что компонент или конструктор компонентов вызвал метод AddService, для которого требуется интерфейс и объект, но указанный объект не реализует указанный интерфейс. Обратитесь к поставщику компонентов.
Не удалось изменить текст в окне кода
Эта ошибка возникает, если Visual Studio не удается изменить файл из-за проблем с местом на диске или памятью, или файл помечен только для чтения.
Объект перечислителя панели элементов поддерживает одновременное извлечение только одного элемента
Если вы видите эту ошибку, зарегистрируйте ее с помощью функции Сообщить о проблеме.
Из панели элементов не удалось загрузить элемент для компонентаУказанный компонент вызвал исключение при доступе к нему Visual Studio. Обратитесь к поставщику компонентов.
Из панели элементов не удалось загрузить элемент для элемента панели элементовЭта ошибка возникает, если данные в элементе панели элементов повреждены или версия компонента изменилась. Попробуйте удалить элемент из панели элементов и добавить его снова.
Не удалось найти тип .
При загрузке конструктора Visual Studio не удалось найти тип. Убедитесь, что имеется ссылка на сборку, содержащую тип. Если сборка является частью текущего проекта разработки, убедитесь, что проект создан.
Служба разрешения типов может быть вызвана только из потока основного приложения
Переменная либо не объявлена, либо никогда не присваивалась
Для команды меню уже существует обработчик команд
Эта ошибка возникает, если сторонний конструктор добавляет команду, которая уже имеет обработчик в таблице команд. Обратитесь к поставщику компонентов.
Компонент с именем уже существует
Сторонний компонент выполнил обратный вызов к элементу на вкладке панели элементов, но элемент уже содержал обратный вызов. Обратитесь к поставщику компонентов.
Языковые средства для данного языка не поддерживаю CodeModel, с помощью которой загружается конструктор
Тип не имеет конструктора с параметрами типовVisual Studio не удалось найти конструктор с соответствующими параметрами. Это может быть результатом предоставления конструктора с типами, отличными от требуемых. Например, конструктор Point может принимать два целых числа. Если вы указали число с плавающей запятой, возникает эта ошибка.
Не удается добавить ссылку в текущее приложение
Не удалось извлечь текущий файл
Эта ошибка возникает при изменении файла, который в настоящее время записывается в систему управления исходным кодом. Как правило, Visual Studio представляет диалоговое окно возврата файла, чтобы пользователь мог извлечь файл. На этот раз файл не был извлечен, возможно, из-за конфликта слияния во время возврата. Чтобы устранить эту ошибку, убедитесь, что файл не заблокирован, а затем попробуйте извлечь файл вручную.
Не удается найти страницу с именемЭта ошибка возникает, когда конструктор компонентов запрашивает доступ к странице из диалогового окна "Параметры", используя имя, которое не существует. Обратитесь к поставщику компонентов.
Не удается найти свойство на страницеЭта ошибка возникает, когда конструктор компонентов запрашивает доступ к определенному значению на странице из диалогового окна "Параметры", используя значение, которое не существует. Обратитесь к поставщику компонентов.
В Visual Studio не удается открыть конструктор файла, так как класс этого файла не унаследован от класса, поддерживающего визуальную разработку
В Visual Studio не удается сохранить или загрузить экземпляры типаЭто проблема со сторонним компонентом. Обратитесь к поставщику компонентов.
Документ не удалось открыть в Visual Studio в представлении конструктора
Эта ошибка указывает, что язык проекта не поддерживает конструктор и возникает при попытке открыть файл в диалоговом окне "Открыть файл" или из Обозревателя решений. Вместо этого измените файл в представлении кода.
В Visual Studio не удалось найти конструктор для классов типаVisual Studio загрузила класс, но класс невозможно создать. Вместо этого измените класс в представлении кода, щелкнув класс правой кнопкой мыши и выбрав Просмотреть код.
Я попытался очистить / перестроить решение, закрыть Visual Studio и даже перезагрузить компьютер. Я также сделал шаги, описанные в отладочных запусках, даже с ошибками компилятора в Visual Studio. Я могу изменить .cs-файлы, и я вижу изменения в решение.
есть ли у кого-нибудь идея о том, почему он это делает?
Вариант 1: Очистить, построить и обновить (@Mike Fuchs)
As @Mike Fuchs упомянуто, попробуйте следующие операции:
в меню Build > Clean Solution
затем построить его:
в меню Build > Build Solution
и, наконец, Обновить:
Вариант 2: Очистить, закрыть, перезапустить и построить ( @ Pixel)
As @ Pixel упомянуто, попробуйте следующую последовательность операций:
- очистить решение
- Закрыть Visual Studio
- Открыть Visual Studio
- построить решение
Вариант 3: Очистить кэш ReSharper (мой оригинальный вариант)
Если у вас есть ReSharper, попробуйте очистить кэш ReSharper:
в меню ReSharper > параметры > окружающая среда > общие > очистить кэш
и отключение и повторное включение ReSharper:
в меню Инструменты > Параметры > ReSharper > общие > приостановить / восстановить
Вариант 4: Удалить .файл СУО (@Neolisk)
As @Neolisk упоминалось, удаляя .файл suo может решить вашу проблему. Для Visual Studio 2015 файл находится в:
и для Visual Studio 2017:
обратите внимание, что .vs каталог скрыт.
Вариант 5: выгрузка и перезагрузка проекта ( @TTT)
As @TTT упомянуто, попробуйте разгрузить проект, который вызывает проблемы:
в обозревателе решений щелкните правой кнопкой мыши проект, выгрузите проект.
и перезагрузить его
в обозревателе решений щелкните правой кнопкой мыши проект, перезагрузите проект.
Вариант 6: выгрузка и перезагрузка проекта ( @Guilherme)
As @Guilherme упомянул, попробуйте удалить и добавить ссылка на "Microsoft.CSharp " из проектов, которые имеют проблемы.
в обозревателе решений разверните проект, разверните "ссылки", щелкните правой кнопкой мыши на " Microsoft.CSharp" и "удалить".
затем щелкните правой кнопкой мыши ссылки > добавить ссылку, выберите " Microsoft.CSharp " из списка и нажмите OK
Очистка кэша Resharper не помогло в моем случае, пробовал приостановить/восстановить, а также ремонт Resharper, используя последнюю загрузку с веб - сайта JetBrains-ни один из них не помог. Это после того, как я попытался закрыть/снова открыть VS, перезагрузить машину, повторить, построить/перестроить и их комбинацию.
интересно, что приостановка Resharper, казалось, решить проблему после 2-й перезапуск VS, но он вернулся после того, как я включил Resharper
во всяком случае, у меня все еще были проблемы, когда я нашел эту статью:
поэтому я удалил скрытые .СУО файл на том же уровне папки с решением, и он волшебным образом решил все красные.
я очистил решение, закрыл VS, снова открыл его, построил решение и красные неразрешенные линии были очищены и успешно построены.
tldr; выгрузить и перезагрузить проблемный проект.
когда это происходит со мной, я (раньше) пытаюсь закрыть VS и снова открыть его. Это, вероятно, работало около половины времени. Когда это не сработало, я бы закрыл решение, удалил его .suo файл (или всю .vs folder) и повторно откройте решение. До сих пор это всегда работало для меня (более 10 раз за последние 6 месяцев), но это немного утомительно, потому что некоторые вещи сбрасываются, такие как ваш режим сборки, запуск проекта и т. д.
поскольку обычно проблема возникает только в одном проекте, я просто попытался выгрузить этот проект и перезагрузить его, и это сработало. Мой размер выборки составляет всего 1, но он намного быстрее, чем два других варианта, поэтому, возможно, стоит попробовать. Я подозреваю, что это работает, потому что он пишет.suo файл, и, возможно, исправляет поврежденную часть его, которая вызывала проблему с самого начала.
Примечание: я использую Visual Studio 2015.
Я обнаружил, что это часто происходит при использовании Git в Visual Studio 2017, переключение ветвей, где есть зависимые изменения кода. Несмотря на то, что проект будет успешно построен, в списке ошибок останутся ошибки.
эти ошибки часто являются проблемами пространства имен и отсутствующими ссылками, даже если ссылка на библиотеку существует.
- Закрыть Visual Studio
- удалить .против\ "призма".\IncomeVerification программы V15.СУО файл (скрытый)
- Перезапустите Visual Studio
у меня была такая проблема, когда Intellisense, похоже, не распознал существование одного проекта (много "не могу найти этот тип", "это пространство имен не существует" и т. д. ошибки.)
удаление и повторное добавление ссылки на проект во всех ссылочных проектах устранит проблему, но основная причина может быть исправлена путем редактирования .proj файл проблемного проекта.
в верхней части проекта "отсутствует".файл csproj является элемент:
и во всех ссылочных проектах .файлы csproj были ссылками на проект:
идентификатор GUID ссылки не соответствует идентификатору GUID проекта. Замена выше Исправлена проблема без необходимости проходить через каждый проект привязки.
возможно, вы пытаетесь сбросить кэш intellisense. У меня была аналогичная проблема в visual studio 2012 при работе в большом проекте со многими частичными определениями классов. Уменьшение частичных значений частично решило проблему, очистка кэша intellisense также-на некоторое время.
иногда мне приходится выполнять пользовательскую очистку, просматривая все проекты и вручную удаляя папки "bin" и "obj". Чтобы увидеть их в Visual Studio, необходимо включить скрытые файлы и папки для каждого проекта. После этого перестройте решение.
для моего конкретного случая это была служебная ссылка другого разработчика, объединенная с основной веткой. Что было прекрасно, за исключением того, что подсветка синтаксиса не смогла разрешить сгенерированный класс обслуживания,а источник был подчеркнут красным. Очистка, восстановление, перезапуск ничего не сделали.
все, что мне нужно было сделать, это обновить ссылку на службу, и VS удалось собрать части вместе за кулисами. Нет изменений в исходном коде или сгенерированных файлах.
Я только что столкнулся с этой проблемой после возврата git commit, который добавил файлы обратно в мой проект.
очистка и восстановление проекта не сработали, даже если я закрыл VS между каждым шагом.
что в конечном итоге сработало, это переименование файла во что-то другое и изменение его обратно. : facepalm:
попробовав все перечисленные опции, я обнаружил еще одну причину, по которой это может произойти. Если кто-то отправил вам исходный код в виде zip или вы загрузили zip, Windows может заблокировать все файлы. 2 способа решить эту проблему:
Способ 1:
щелкните правой кнопкой мыши исходный Zip-файл - > Проверьте "разблокировать" - > нажмите apply
Способ 2:
Если это не вариант, а не открытие свойств для каждого файла в в папке решения просто откройте power shell и разблокируйте рекурсивно, используя следующее:
Читайте также: