Произошла ошибка в нет данных при попытке открыть 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\
Во время разработки решений Office в Visual Studio могут возникнуть проблемы при выполнении следующих задач:
Создание, обновление и открытие проектов
При создании или открытии проектов Office могут возникнуть следующие ошибки.
Не удается создать проект
Произошла ошибка при попытке создать или открыть проект Office, но Visual Studio не имеет достаточно сведений, чтобы определить причину. Попробуйте закрыть проект, завершить работу и снова запустить Visual Studio.
Если вы пытаетесь создать проект уровня документа, возможно, что другой документ с тем же именем, что и документ в новом проекте, уже открыт в Excel или Word. Убедитесь, что все остальные экземпляры Excel или Word закрыты.
Свойства элемента управления теряются при создании нового проекта на основе документа из существующего проекта
При создании нового проекта Office, основанного на документе из существующего проекта, свойства элементов управления в документе не копируются в новый проект. Вам необходимо вручную сбросить свойства существующих элементов управления. Кроме того, можно сохранить свойства элементов управления, создав копию существующего проекта, а не создавая новый проект, или загрузив существующий проект в новое решение (в режиме конструктора) и скопировав и вставив элементы управления из существующего документа в новый документ.
ошибки при создании Excel проекта книги на основе существующей книги
при создании нового Excel проекта книги на основе существующей книги может появиться сочетание следующих ошибок.
В Excel: "Предупреждение о конфиденциальной информации: документ содержит макросы, элементы управления ActiveX, данные пакета расширения XML или веб-компоненты. Они могут включать личные сведения, которые нельзя удалить с помощью инспектора документов".
В Visual Studio: "Не удалось правильно загрузить конструктор".
Эти ошибки могут возникать при попытке создать проект, основанный на книге, из которой персональные данные были удалены с помощью инспектора документов. Чтобы избежать этой ошибки, выполните следующие действия перед созданием проекта.
Откройте книгу в Excel.
Откройте центр управления безопасностью в Excel.
На вкладке Параметры конфиденциальности снимите флажок Удалить персональные данные из свойств файла при сохранении .
Сохраните книгу и закройте Excel.
Не удается открыть проект после миграции
После переноса решения Office в Microsoft Office 2010 не удается открыть проект на компьютере разработки, где установлен только Microsoft Office 2007. Могут возникнуть следующие ошибки.
"Один или несколько проектов в решении были загружены неправильно. Дополнительную информацию см. в окне вывода."
"Не удается создать проект, поскольку приложение, связанное с этим типом проектов, не установлено на данном компьютере. Необходимо установить приложение Microsoft Office, связанное с этим типом проектов".
Или же убедитесь, что перенесенные проекты открываются только на компьютерах разработки с установленным Microsoft Office 2010.
ошибки в обновленных Office 2003 проектах уровня документа, содержащих элементы управления Windows Forms
если обновить проект уровня документа Microsoft Office 2003, а документ содержит элементы управления Windows Forms, то в обновленном проекте могут возникнуть ошибки компиляции или времени выполнения. Чтобы избежать этой проблемы, перед обновлением проекта установите второй выпуск среды выполнения набора средств Visual Studio 2005 для Office на компьютере разработки. Эта версия среды выполнения доступна в виде распространяемого пакета в Центре загрузки Майкрософт на странице Среда выполнения набора средств Microsoft Visual Studio 2005 для Office (второй выпуск) (VSTO 2005 SE) (x86).
После завершения обновления проекта можно удалить среду выполнения набора средств Visual Studio 2005 для Office (второй выпуск) с компьютера разработчика, если она не используется другими решениями Office.
Использование конструкторов
При работе с конструктором документов, книг или листов в проектах уровня документа могут возникнуть следующие ошибки.
Не удалось правильно загрузить конструктор
Visual Studio не удается открыть конструктор в следующих случаях.
Excel или Word уже открыты и отображают модальное диалоговое окно. Чтобы открыть конструктор, проверьте, открыто ли модальное диалоговое окно Excel или Word, и закройте все открытые модальные диалоговые окна. Если модальные диалоговые окна не открыты, возможно, требуются какие-либо другие действия для продолжения работы Excel или Word.
В настоящее время выполняется отладка проекта. Чтобы открыть конструктор, остановите или завершите отладку.
Надстройка VSTO для Excel, установленная на компьютере разработки, отображает диалоговое окно при запуске Excel. Чтобы создать проект уровня документа Excel, вначале необходимо отключить надстройку VSTO.
Элементы управления отображаются как черные прямоугольники в документе или на листе
При группировке элементов управления в документе или листе Visual Studio больше не распознает их. Доступ к сгруппированным элементам управления в окне свойств невозможен, и они отображаются как черные прямоугольники в документе или на листе. Необходимо разгруппировать элементы управления, чтобы восстановить их работоспособность.
Элементы управления в шаблоне Word не отображаются в Visual Studio
При открытии шаблона Word в конструкторе Visual Studio элементы управления шаблона, расположенные не в тексте, могут не отображаться. это связано с тем, что Visual Studio открывает шаблоны Word в нормальном режиме. чтобы просмотреть элементы управления, в меню вид выберите Microsoft Office представление Word , а затем щелкните макет печати.
команда "вставить картинку" ничего не делает в конструкторе Visual Studio
если Excel или Word открыто в конструкторе Visual Studio, при нажатии кнопки коллекция картинок на вкладке иллюстрации на ленте не открывается область задач коллекция картинок . чтобы добавить картинку, необходимо открыть копию книги или документа, находящегося в главной папке проекта (а не в папке \bin ), за пределами Visual Studio, добавить картинку и сохранить книгу или документ.
Написание кода
При написании кода в проектах Office могут возникнуть следующие ошибки.
"Неоднозначность между "Microsoft.Office.Interop.Excel._Application.NewWorkbook" и "Microsoft.Office.Interop.Excel.AppEvents_Event.NewWorkbook"".
Эта ошибка означает, что вы пытаетесь получить доступ к событию, имя которого совпадает с именем другого свойства или метода объекта. Чтобы получить доступ к событию, необходимо привести объект к его интерфейсу событий.
Типы основных сборок взаимодействия Office с событиями реализуют два интерфейса: основной интерфейс со свойствами и методами и интерфейс событий, содержащий события, предоставляемые объектом. Эти интерфейсы событий используют соглашение об именовании objectname Events n _Event, например AppEvents_Event и ApplicationEvents2_Event . Если вам не удается получить доступ к событию, которое должно быть в объекте, приведите объект к типу соответствующего интерфейса событий.
Например, у объектов Application есть событие NewWorkbook и свойство NewWorkbook. Для обработки события NewWorkbook приведите Application к интерфейсу AppEvents_Event. В следующем примере кода показано, как сделать это в проекте уровня документа для Excel.
дополнительные сведения о интерфейсах событий в Office pia см. в разделе общие сведения о классах и интерфейсах в Office основных сборках взаимодействия.
Этот код вызывает следующие ошибки компиляции.
Visual Basic: "ссылка на класс" документкласс "недопустима, если его сборка связана с использованием режима No-PIA."
Чтобы устранить эту ошибку, измените код так, чтобы он ссылался на соответствующий интерфейс. Например, вместо того чтобы ссылаться на объект DocumentClass, обращайтесь к экземпляру интерфейса Document.
ссылки на Office классы не распознаны
Некоторые имена классов, например Application, находятся в нескольких пространствах имен, таких как Microsoft.Office.Interop.Word и System.Windows.Forms . По этой причине инструкция Imports / using в верхней части шаблонов проектов содержит сокращенную подходящее константу, например:
при использовании оператора imports / using необходимо отличать ссылки на Office классы с помощью квалификатора Word или Excel, например:
Ошибки возникают при использовании неполного объявления, например:
несмотря на то, что вы импортировали слово или Excel пространство имен и имеете доступ ко всем классам внутри него, необходимо полностью определить все типы с помощью Word или Excel, чтобы удалить неоднозначность пространства имен.
Сборка проектов
При сборке проектов Office могут возникнуть следующие ошибки.
Невозможно построить проект уровня документа, основанный на документе с ограниченными разрешениями
"Ошибка при добавлении настройки".
Если вы хотите добавить документ с ограниченными разрешениями, используйте документ без ограничений при разработке и сборке решения. Затем после публикации решения примените ограниченные разрешения к документу в папке публикации.
Ошибки компилятора, возникающие после удаления элемента управления NamedRange
При удалении элемента управления NamedRange с неактивного листа в конструкторе невозможно удалить автоматически создаваемый код из проекта, и могут возникать ошибки компилятора. Чтобы удалить код, перед удалением элемента управления необходимо выбрать лист, содержащий элемент управления NamedRange, чтобы сделать его активным. Если автоматически создаваемый код не удаляется при удалении элемента управления, можно удалить код с помощью конструктора, сделав лист активным и изменив его, чтобы пометить его как измененный. При повторной сборке проекта код удаляется.
Отладка проектов
При отладке проектов Office могут возникнуть следующие ошибки.
Запрос на удаление появляется при публикации и установке решения на компьютере разработчика.
При отладке решения Office может возникнуть следующая ошибка.
"Не удается установить настройку, поскольку уже установлена другая версия, обновление которой из этой папки невозможно".
Проекты уровня документа, созданные в сетевых расположениях UNC, не запускаются с Visual Studio
При создании проекта уровня документа для Excel или Word в сетевом расположении UNC необходимо добавить расположение документа в список надежных расположений в Excel или Word. В противном случае настройки не будут загружаться при запуске или отладке проекта в Visual Studio. Дополнительные сведения о надежных расположениях см. в статье предоставление доверия документам.
Потоки после отладки неправильно останавливаются
Проекты Office в Visual Studio следуют соглашению об именовании потоков, которое позволяет отладчику правильно закрывать программу. При создании потоков в решении необходимо присвоить каждому потоку имя с префиксом "VSTA_" для правильной обработки этих потоков при остановке отладки. Например, можно задать Name свойство потока, ожидающего VSTA_NetworkListener сетевого события.
не удается запустить или отладить любое Office решение на компьютере разработчика
"Не удалось загрузить настройку, так как не удалось создать домен приложения".
Ошибка при остановке отладчика в проекте уровня документа после использования функции "изменить и продолжить"
"Завершение процесса в его текущем состоянии может привести к нежелательным результатам, включая потерю данных и нестабильность системы".
при нажатии кнопки да или нет в диалоговом окне Visual Studio завершает Excel или процесс слова и останавливает отладчик. Чтобы остановить отладку проекта без отображения этого диалогового окна, выйдите из Excel или Word напрямую, а не останавливайте отладчик в Visual Studio.
Возможно, у вас возникли проблемы с установкой? Мы готовы помочь. Мы предлагаем для поддержки чат по вопросам установки (только на английском языке).
Это руководство содержит пошаговые инструкции, которые помогут устранить большинство проблем при установке.
Установка через Интернет
Следующие шаги применимы к обычной установке через Интернет. Сведения об автономной установке см. в разделе об устранении неполадок с автономной установкой.
Шаг 1. Проверьте, не связана ли ошибка с известными проблемами
Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Чтобы найти способ обойти эту проблему, проверьте раздел известных проблем в заметках о выпуске.
Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Чтобы найти способ обойти эту проблему, проверьте раздел известных проблем в заметках о выпуске.
Существуют несколько известных проблем с Visual Studio Installer, и корпорация Майкрософт работает над их устранением. Проверьте, решена ли проблема, или найдите обходные пути в разделе "Известные проблемы" в заметках о выпуске.
Шаг 2. Попробуйте восстановить Visual Studio
Процедура восстановления способна устранить многие распространенные проблемы с обновлением. Дополнительные сведения о том, когда и как восстанавливать Visual Studio, см. в разделе Восстановление Visual Studio.
Шаг 3. Обратитесь к сообществу разработчиков
Шаг 4. Удалите папку Visual Studio Installer, чтобы устранить проблемы, связанные с обновлением
Начальный загрузчик Visual Studio представляет собой исполняемый файл небольшого размера, который инициирует установку Visual Studio Installer и продукта Visual Studio. Если вы удалите файлы Visual Studio Installer и повторно запустите начальный загрузчик, это может решить некоторые проблемы, связанные с обновлением.
С помощью следующей процедуры можно переустановить файлы Visual Studio Installer и сбросить метаданные установки.
- Закройте Visual Studio Installer.
- Удалите папку Visual Studio Installer. Как правило, путь к папке: C:\Program Files (x86)\Microsoft Visual Studio\Installer .
- Запустите начальный загрузчик Visual Studio Installer. Файл начального загрузчика можно найти в папке Загрузки. Его имя соответствует шаблону vs_[Visual Studio edition]__*.exe . Вы также можете скачать начальный загрузчик для вашего выпуска Visual Studio со страницы загрузок Visual Studio. Запустите этот исполняемый файл, чтобы сбросить метаданные установки.
- Снова попробуйте установить или обновить Visual Studio. Если Visual Studio Installer продолжает выдавать ошибки, перейдите к шагу Сообщить о проблеме.
Шаг 5. Сообщите о проблеме
В некоторых ситуациях, например при наличии поврежденных файлов, вам, возможно, понадобится устранять неполадки случай за случаем. Вы можете содействовать нам при оказании вам помощи, выполнив следующие действия:
Шаг 6. Удаление файлов установки Visual Studio
В крайнем случае вы можете удалить все файлы установки Visual Studio и информацию о продукте:
- Следуйте инструкциям, приведенным в этой статье: Удаление Visual Studio.
- Снова запустите начальный загрузчик Visual Studio Installer. Файл начального загрузчика можно найти в папке Загрузки. Его имя соответствует шаблону vs_[Visual Studio edition]__*.exe . Вы также можете скачать начальный загрузчик для вашего выпуска Visual Studio со страницы загрузок Visual Studio.
- Попробуйте переустановить Visual Studio.
Шаг 7. Свяжитесь с нами (необязательно)
Если вы выполнили все вышеуказанные шаги, но вам так и не удалось установить или обновить Visual Studio, свяжитесь с нами через чат в реальном времени (только на английском языке) для получения дополнительной помощи.
Автономная установка
Здесь приведены некоторые известные проблемы и варианты обходных путей, которые могут помочь при создании автономной установки и установке из локального источника.
Проблема | Решение |
---|---|
Пользователи не имеют доступ к файлам | Прежде чем открывать общий доступ к автономной установке, необходимо настроить разрешения (ACL) и предоставить пользователям права на чтение. |
Не удается установить новые рабочие нагрузки, компоненты или языковые пакеты | Если вы производите установку из частичного макета и выбираете рабочие нагрузки, компоненты или языки, которые не скачаны в этот макет, вам потребуется доступ в Интернет. |
Обновления администратора
Обновления администратора могут применяться неправильно по различным причинам. Дополнительные сведения см. в статье Коды ошибок для устранения неполадок с обновлениями администратора.
Журналы установки
Журналы установки помогают нам в устранении большинства неполадок при установке. При отправке сигнала о проблеме с помощью варианта Сообщить о проблеме в Visual Studio Installer в отчет автоматически добавляется последний журнал установки Visual Studio Installer.
Чтобы собрать журналы, выполните указанные ниже действия.
-
.
- Откройте командную строку от имени администратора.
- Запустите Collect.exe в папке, в которой сохранили средство.
- Средство создает файл vslogs.zip в папке %TEMP% , как правило, в C:\Users\YourName\AppData\Local\Temp\vslogs.zip .
Запускайте средство с помощью той же учетной записи пользователя, с помощью которой запускалась завершившаяся сбоем установка. Если вы запускаете средство с помощью другой учетной записи, задайте параметр –user: , чтобы указать учетную запись пользователя, с помощью которой запускалась завершившаяся сбоем установка. Чтобы просмотреть дополнительные параметры и сведения об использовании, запустите Collect.exe -? из командной строки администратора.
Проблемы при установке WebView2
WebView2 — это компонент, необходимый для Visual Studio, но установку этого компонента можно заблокировать с помощью групповых политик вашей организации. Блокировка установки WebView2 не даст выполнить установку Visual Studio.
• Если настроена политика Microsoft Edge "Install (WebView)", она определит, можно ли установить WebView2. • Если политика Microsoft Edge "Install (WebView)" не настроена, политика Microsoft Edge "InstallDefault" определит, можно ли установить WebView2.
Если ни одна из политик не настроена, ваша организация разрешает установку WebView2.
Помощь в реальном времени
Если решения, приведенные в этом руководстве по устранению неполадок, не помогли вам установить или обновить 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 2015 — там ведь столько захватывающих фич! Вчера вот только решили, а уже сегодня утром я запустил её инсталлятор. Небо было безоблачным, ничто не предвещало беды. Ну что, в самом деле, может пойти не так? Сколько уже этих Visual Studio переставлено — не счесть (я, помнится, ещё 6.0 когда-то ставил). Кто бы мог подумать, что эта тривиальнейшая задача может вылиться в весьма неожиданный забег по граблям длинной почти в целый рабочий день.
Хм. Не поставился значит, Team Explorer и ещё пару минорных пакетов. Ну ок. Закрываем, переустанавливаем. Не помогает. Удаляем студию, перезагружаемся, устанавливаем — та же ошибка. Лезем в Гугл с вопросом об ошибке установки Visual Studio 2015 на этапе инсталляции компонента Team Explorer и понимаем, что проблема это массовая — десятки ссылок с тем же описанием:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
Отвечают на все эти вопросы специалисты первой линии техподдержки Microsoft, советы которых сводятся к «отключите антивирус», «проверьте чексуму образа со студией», «проверьте диск на ошибки». Ничего из этого, конечно, не помогает, о чём им и рассказывают, после чего они пропадают и больше не отвечают. Очень дружелюбная пользовательская поддержка, ничего не скажешь.
Ну что же, пора включать голову, брать в руки инструменты и разбираться. Поехали.
Итак, всё что у нас есть, это входная точка ошибки — проблема с Team Explorer. И ссылочка на лог-файл на приведённом выше скриншоте. Ну ок, давайте пойдём почитаем что там лог-файл думает о нашей ошибке.
Всё, что можно понять из этого лога, это то что компонент ставился-ставился, да что-то не поставился. Бывает, мол, чего уж там. Ну, спасибо большое за информацию!
Ладно, давайте зайдём с другой стороны. Team Explorer это (как и почти всё в современных версиях Visual Studio) — VSIX (компонент, расширение). Ставится отдельно от ядра студии специальной программой VSIXInstaller.exe, которая живёт в C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE и умеет при установке этих самых VSIX-компонентов писать во временную папку (ну, ту, которая %TEMP%) логи о том, как всё прошло. Идём в %TEMP%, находим по времени ошибки из лога выше файлик, соответствующий установке Team Explorer. Вот он:
Ну, тут уже побольше всякого интересного написано, конечно. Нас интересует первый момент, когда что-то пошло не так. Вот он:
26.11.2015 17:31:06 - System.TypeInitializationException: The type initializer for 'VSIXInstaller.SupportedSKUs' threw an exception. ---> System.BadImageFormatException: Could not load file or assembly 'Microsoft.VisualStudio.Settings.14.0.dll' or one of its dependencies. is not a valid Win32 application. (Exception from HRESULT: 0x800700C1)
Хм, произошла ошибка при попытке загрузить сборку Microsoft.VisualStudio.Settings.14.0.dll. Первой моей мыслью было то, что студия как-то запуталась в порядке установки своих компонентов и пытается использовать при установке что-то, что ещё не установилось куда надо. Так, есть у нас в системе такая библиотека?
Оказалось — есть. Лежит в GAC, там где ей и положено лежать:
Так, что же получается? Сборка есть, она находится там, где нужно, но не загружается. Может быть, битая? Берём IL DASM, загружаем — всё ок.
Может быть умельцы из Microsoft сумели написать такой инсталлятор, у которого иногда получается не найти сборку в GAC? Берём Process Monitor, добавляем в него фильтр на открытие файлов и снова запускаем инсталлятор студии. Доходим до ошибки, смотрим логи.
Ага, vcruntime140.dll загружается. Это redistributable-библиотека от Visual Studio 2015. Ну, она-то точно должна была поставиться на одном из первых этапов установки! Но давайте проверим, чем уже чёрт не шутит.
Проверка раз — в списке установленных программ:
Проверка два — в папке C:\Windows\SysWOW64\:
Проверка три — это, собственно, «SUCCESSS» в логе Process Monitor:
Последняя проверка — вообще железобетонный аргумент: видите, поискали, попробовали открыть, открылось успешно — значит файл найдён. Всё, подозрения снимаются, идём дальше. Так, какую-же библиотеку инсталлятор VSIX пытается подгрузить следующей по логами Process Monitor?
Как это опять vcruntime140.dll уже в другой папке?! Получается, найдя vcruntime140.dll в папке C:\Windows\SysWOW64\ и успешно её открыв (а мы знаем что так и было по логам выше!) загрузчик зависимостей всё-же почему-то счёл её недостаточно хорошей и отбросил. Как же так?! Это что — не майкрософтовская библиотека? Смотрим свойства:
Да нет, нормальная библиотека. Почему же не загрузилась? Давайте посмотрим на неё внимательнее. Для этого в составе любой версии Visual Studio есть отличная утилита dumpbin. Запускаем её с вот такими ключами:
и смотрим на результаты:
Подождите-подождите… А почему это ты, библиотечка, 64-битная?! Ты же лежишь в папке C:\windows\SysWOW64\, где вообще-то место только 32-битным библиотекам! А ну-ка давайте посмотрим, что же тогда лежит в C:\Windows\System32?
А то же самое (кто не верит в размер — можете проверить каким-нибудь WinMerge, они идентичны). Вы уже уловили, в чём суть? Ошибка закралась в инсталятор Redistributable-компонентов, входящий в инсталятор Visual Studio 2015 — он просто ставит 64-битные версии рантайм-библиотек и в папку для 64-битных библиотек (C:\Windows\System32) и в папку для 32-битных (c:\windows\SysWOW64\). В итоге при дальнейшей попытке использования 64-битной версии всё будет ок, а вот при попытке загрузки 32-битной версии будет то, что мы увидели при установке Team Explorer — загадочные ошибки вообще без упоминания библиотеки vcruntime140.dll и Redistributable-пакета. И делай, что хочешь.
А что же мы хотим делать? А удалить x86-часть Redistributable-пакета Visual Studio 2015, скачать её отдельно с сайта Microsoft и переустановить. Сюрприз — на сайте Microsoft версия правильная, она установит 32-битную версию библиотеки в C:\windows\SysWOW64, после чего можно перезапустить установку Visual Studio 2015 и она успешно дойдёт до конца!
Осталось как-то объяснить начальству почему это я целый день устанавливал Visual Studio, если с этим дети в третьем классе за час справляются. В общем-то ради этой цели и была написана данная статья, а уж зачем вы её прочли — я не знаю :)
P.S. Справедливости ради следует отметить, что поиск по той же проблеме с упоминанием слов «redistributable» и «vcruntime140» всё-таки выводит на одиноко валяющийся на обочине Stackoverflow вопрос с правильным ответом (кто-то прошел тот же путь, что и я!), который в виду своей низкой оценки("+1" на момент написания статьи) не воспринимается людьми, как настоящее решение проблемы. Не будем забирать у автора того ответа пальму первенства и плодить лишние сущности, если описанная в статье проблема коснулась и вас, а предложенное решение помогло — вы можете проголосовать за этот ответ на Stackoverflow.
Читайте также: