Перейти к содержимому

Как обновить решение visual studio 2019

  • автор:

Обновление проектов C++ с более ранних версий Visual Studio

Чтобы обновить проект, созданный в более ранней версии Visual Studio, просто откройте проект в последней версии Visual Studio. Visual Studio предлагает обновить проект до текущей схемы.

Если выбрать «Нет«, проект не обновляется. Для проектов, созданных в Visual Studio 2010 и более поздних версий, можно по-прежнему использовать проект в более новой версии Visual Studio. Просто задайте свойства проекта, чтобы продолжить использовать старый набор инструментов. Если вы оставляете старую версию Visual Studio на компьютере, его набор инструментов доступен в более поздних версиях. Например, если проект должен продолжать работать в Windows XP, можно обновить до Visual Studio 2019. Затем вы указываете набор инструментов как v141_xp или более ранних версий в свойствах проекта. Дополнительные сведения см. в разделе Использование собственного многоплатформенного нацеливания в Visual Studio для сборки старых проектов.

Если выбрать «Да«, проект обновляется на месте. Его нельзя преобразовать обратно в более раннюю версию. В сценариях обновления рекомендуется создать резервную копию существующих файлов проекта и решения.

Visual Studio 2022 не рекомендуется поддерживать обновление типов проектов, имеющих .dsw или .dsp расширения. Для обновления этих проектов можно использовать более раннюю версию Visual Studio, например Visual Studio 2019, а затем обновить их в Visual Studio 2022 для использования последних средств и функций Visual Studio.

Обновление отчетов

При обновлении проекта вы получите отчет об обновлении. Отчет также сохраняется в папке проекта как UpgradeLog.htm. В отчете об обновлении показано, какие проблемы были обнаружены во время преобразования. В нем перечислены некоторые сведения о внесенных изменениях, в том числе:

  • Свойства проекта.
  • Включите файлы.
  • Код, который больше не компилируется чисто из-за улучшений соответствия компилятора или изменений в стандарте.
  • Код, основанный на возможностях Visual Studio или Windows, которые больше не доступны. Или файлы заголовков, которые либо не включены в установку Visual Studio по умолчанию, либо были удалены из продукта.
  • Код, который больше не компилируется из-за изменений в API, таких как переименованные API, измененные подписи функций или устаревшие функции.
  • Код, который больше не компилируется из-за изменений в диагностика, например предупреждение становится ошибкой
  • Ошибки компоновщика из-за измененных библиотек, особенно при использовании /NODEFAULTLIB.
  • Ошибки среды выполнения или непредвиденные результаты из-за изменений поведения.
  • Ошибки, появившиеся в средствах. Если возникла проблема, сообщите о ней команде Visual C++ через обычные каналы поддержки или с помощью страницы Сообщество разработчиков Visual Studio C++.

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

  1. Задайте набор инструментов платформы, стандарт языка C++ и версию пакета SDK для Windows (если применимо) для предпочитаемых версий. (Общие свойства конфигурации свойств>>проекта)>
  2. Если у вас много ошибок, вы можете временно отключить некоторые параметры при их исправлении. Чтобы отключить /permissive- этот параметр, используйте свойства конфигурации свойств>>проекта>C/C++>Language. Чтобы отключить параметр анализа кода, используйте анализ свойств >>конфигурации проекта.>
  3. Убедитесь в наличии всех зависимостей и правильности путей включения или расположений библиотеки. (Каталоги конфигурации свойств>>проекта>VC++)
  4. Выявление и исправление ошибок, вызванных ссылками на API, которые больше не существуют.
  5. Исправьте все оставшиеся ошибки, которые препятствуют компиляции. Общие сведения о потенциальных проблемах обновления для устранения распространенных ошибок.
  6. Включите и исправьте /permissive- новые ошибки, вызванные несоответствующим кодом, ранее скомпилированному в MSVC.
  7. Включите анализ кода для выявления потенциальных проблем или устаревших шаблонов кодирования, которые больше не считаются приемлемыми. Если анализ кода помечает множество ошибок, вы можете отключить некоторые предупреждения, чтобы сосредоточиться на наиболее важных. Интегрированная среда разработки может помочь в быстрых исправлениях для некоторых видов проблем.
  8. Рассмотрите другие возможности модернизации кода. Например, замените пользовательские структуры и алгоритмы данных на стандартные библиотеки C++ или библиотеку с открытым кодом. Используя стандартные функции, вы упрощаете обслуживание кода другими пользователями. Вы можете быть уверены, что этот код был хорошо протестирован и проверен многими экспертами по комитету по стандартам и более широкому сообществу C++.

Для устранения ошибок можно найти решения или отправить вопрос в Microsoft Learn Q&A. Для проблем с компилятором и инструментами C++ воспользуйтесь веб-сайтом Сообщество разработчиков C++.

Обновление проектов

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

Изменения в модели проекта из одной версии Visual Studio в следующую может потребовать обновления проектов и решений, чтобы они могли работать в более новой версии. Пакет SDK Для Visual Studio предоставляет интерфейсы, которые можно использовать для реализации поддержки обновления в собственных проектах.

Стратегии обновления

Для поддержки обновления реализация системы проекта должна определять и реализовывать стратегию обновления. При определении стратегии можно выбрать поддержку параллельного резервного копирования (SxS), копирования резервных копий или обоих.

  • Резервное копирование SxS означает, что проект копирует только те файлы, которые нуждаются в обновлении на месте, добавляя подходящий суффикс имени файла, например «old».
  • Резервное копирование означает, что проект копирует все элементы проекта в указанное пользователем расположение резервного копирования. Затем обновляются соответствующие файлы в исходном расположении проекта.

Как работает обновление

Когда решение, созданное в более ранней версии Visual Studio, открывается в более новой версии, интегрированная среда разработки проверка файл решения, чтобы определить, нужно ли обновить его. Если требуется обновление, мастер обновления автоматически запускается для прохождения пользователем процесса обновления.

Когда решение требует обновления, он запрашивает каждую фабрику проектов для своей стратегии обновления. Стратегия определяет, поддерживает ли фабрика проектов резервное копирование или резервное копирование SxS. Сведения отправляются в мастер обновления, который собирает сведения, необходимые для резервной копии, и представляет применимые параметры для пользователя.

Решения для нескольких проектов

Если решение содержит несколько проектов и стратегии обновления отличаются, например, если проект C++ поддерживает только резервное копирование SxS и веб-проект, поддерживающий только резервное копирование копирования, фабрики проектов должны согласовывать стратегию обновления.

Решение запрашивает каждую фабрику проектов для IVsProjectUpgradeViaFactory. Затем вызывается UpgradeProject_CheckOnly проверка необходимости обновления файлов глобального проекта и определения поддерживаемых стратегий обновления. Затем вызывается мастер обновления.

После завершения работы мастера UpgradeProject вызовите каждую фабрику проектов, чтобы выполнить фактическое обновление. Для упрощения резервного копирования методы IVsProjectUpgradeViaFactory предоставляют SVsUpgradeLogger службе сведения о процессе обновления. Эту службу нельзя кэшировать.

После обновления всех соответствующих глобальных файлов каждая фабрика проектов может выбрать создание экземпляра проекта. Реализация проекта должна поддерживаться IVsProjectUpgrade. Затем UpgradeProject вызывается метод для обновления всех соответствующих элементов проекта.

Метод UpgradeProject не предоставляет службу SVsUpgradeLogger. Эта служба может быть получена путем вызова QueryService.

Рекомендации

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

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

Дополнительные сведения о резервном копировании и обновлении проектов см. в комментариях для IVsProjectUpgrade в vsshell2.idl.

Обновление пользовательских проектов

Если вы изменяете данные, сохраненные в файле проекта, при переводе продукта с одной версии Visual Studio на другую, то вам необходимо обеспечить обновление файла проекта со старой версии до новой. Чтобы поддерживать обновление, позволяющее участвовать в мастере преобразования Visual Studio, реализуйте IVsProjectUpgradeViaFactory интерфейс. Этот интерфейс содержит единственный доступный метод для обновления копии. Обновление проекта происходит в процессе открытия решения. Интерфейс IVsProjectUpgradeViaFactory реализуется фабрикой проектов или по крайней мере должен получаться из нее.

Старый механизм, предполагающий использование интерфейса IVsProjectUpgrade, по-прежнему поддерживается, но по сути обновляет систему проекта в процессе открытия проекта. Поэтому IVsProjectUpgrade интерфейс вызывается средой Visual Studio, даже если IVsProjectUpgradeViaFactory интерфейс вызывается или реализуется. Такой подход позволяет использовать IVsProjectUpgradeViaFactory для реализации обновления с копированием только для частей проекта, а остальную работу выполнять на месте (возможно, в новом расположении) с помощью интерфейса IVsProjectUpgrade.

Пример реализации IVsProjectUpgradeсм. в разделе «Примеры VSSDK».

При обновлении проектов возникают описанные ниже ситуации.

  • Если файл имеет более новый формат, который не поддерживается проектом, то должна возникать соответствующая ошибка. В этом случае предполагается, что более ранняя версия продукта содержит код для проверка версии.
  • Если в методе UpgradeProject указан флаг PUVFF_SXSBACKUP, будет производиться обновление на месте перед открытием проекта.
  • Если в методе UpgradeProject указан флаг PUVFF_COPYBACKUP, производится обновление с копированием.
  • Если в вызове UpgradeProject указан флаг UPF_SILENTMIGRATE, пользователь получил от среды запрос на обновление файла проекта на месте после открытия проекта. Например, среда предлагает пользователю выполнить обновление, когда он открывает старую версию решения.
  • Если в вызове UpgradeProject не указан флаг UPF_SILENTMIGRATE, то вы должны обеспечить вывод запроса на обновление файла проекта. Ниже приведен пример сообщения запроса на обновление. «Проект «%1″ был создан в старой версии Visual Studio. Если вы откроете его в этой версии Visual Studio, то после этого, возможно, не сможете открыть его в старых версиях Visual Studio. Продолжить и открыть проект?»

Реализация интерфейса IVsProjectUpgradeViaFactory

  1. Реализуйте методы интерфейса IVsProjectUpgradeViaFactory, в частности метод UpgradeProject, в реализации фабрики проектов или обеспечьте возможность вызова этих методов из реализации фабрики проектов.
  2. Если в процессе открытия решения необходимо произвести обновление на месте, укажите флаг PUVFF_SXSBACKUP в качестве параметра VSPUVF_FLAGS в реализации UpgradeProject.
  3. Если в процессе открытия решения необходимо произвести обновление на месте, укажите флаг PUVFF_COPYBACKUP в качестве параметра VSPUVF_FLAGS в реализации UpgradeProject.
  4. Для шагов 2 и 3 непосредственные действия по обновлению файла с использованием интерфейса IVsQueryEditQuerySave2 можно реализовать, как описано в приведенном ниже разделе «Реализация интерфейса IVsProjectUpgade «. Процесс обновления файла можно также реализовать с помощью интерфейса IVsProjectUpgrade.
  5. Используйте методы интерфейса IVsUpgradeLogger для вывода связанных с обновлением сообщений для пользователя с помощью мастера миграции Visual Studio.
  6. Интерфейс IVsFileUpgrade используется для реализации любого типа обновления файлов, которое должно происходить в рамках обновления проекта. Этот интерфейс не вызывается из IVsProjectUpgradeViaFactory, а предоставляется как механизм для обновления файлов, которые входят в систему проекта, но сведения о которых могут отсутствовать в основной системе проекта. Например, такая ситуация может возникнуть, если связанными с компилятором файлами и свойствами с одной стороны и остальной системой проекта с другой стороны занимаются разные команды разработчиков.

Реализация интерфейса IVsProjectUpgrade

Если ваша система проекта реализует IVsProjectUpgrade только ее, она не может участвовать в мастере преобразования Visual Studio. Однако даже если вы реализуете интерфейс IVsProjectUpgradeViaFactory, вы все же можете задействовать реализацию IVsProjectUpgrade для обновления файлов.

Реализация интерфейса IVsProjectUpgrade
  1. Когда пользователь пытается открыть проект, метод UpgradeProject вызывается средой сразу после открытия проекта. Любые действия пользователя с проектом могут совершаться только после выполнения этого метода. Если пользователь уже получил запрос на обновление решения, флаг UPF_SILENTMIGRATE передается в параметре grfUpgradeFlags . Если пользователь открывает проект напрямую, например с помощью команды «Добавить существующий проект», флаг не передается, UPF_SILENTMIGRATE а проект должен запрашивать обновление пользователя.
  2. В ответ на вызов UpgradeProject проект должен определить, должен ли обновляться файл проекта. Если тип проекта не нужно обновлять до новой версии, то проект может просто вернуть флаг S_OK.
  3. Если тип проекта нужно обновить до новой версии, следует определить, можно ли изменить файл проекта, вызвав метод QueryEditFiles и передав значение tagVSQueryEditFlags для параметра rgfQueryEdit . Затем проекту необходимо выполнить указанные ниже действия.
    • Если значение VSQueryEditResult , возвращаемое в параметре pfEditCanceled , равно QER_EditOK, обновление может продолжаться, так как запись в файл проекта возможна.
    • Если значение VSQueryEditResult , возвращаемое в параметре pfEditCanceled , равно QER_EditNotOK и в значении VSQueryEditResult задан бит QER_ReadOnlyNotUnderScc, то метод UpgradeProject должен вернуть ошибку, так как пользователи должны решить проблему с разрешениями самостоятельно. После этого проект должен выполнить следующее действие: Сообщите об ошибке пользователю, вызвав ReportErrorInfo и возвратив VS_E_PROJECTMIGRATIONFAILED код IVsProjectUpgradeошибки.
    • Если значение VSQueryEditResult равно QER_EditNotOK и в значении VSQueryEditResultFlags задан бит QER_ReadOnlyUnderScc, то файл проекта следует получить для изменения, вызвав метод QueryEditFiles (QEF_ForceEdit_NoPrompting, QEF_DisallowInMemoryEdits. ).
  4. Если вызов метода QueryEditFiles для файла проекта приводит к получению этого файла для изменения и извлечению последней версии, то проект выгружается и загружается повторно. После создания еще одного экземпляра проекта метод UpgradeProject вызывается повторно. При втором вызове файл проекта можно записать на диск. Рекомендуется, чтобы проект сохранил копию файла проекта в старом формате с расширением OLD, внес необходимые в связи с обновлением изменения, а затем сохранил файл проекта в новом формате. Если на каком-либо этапе процесса обновления происходит сбой, метод должен сообщить об этом, вернув код ошибки VS_E_PROJECTMIGRATIONFAILED. Это приводит к выгрузке проекта в обозревателе решений. Важно полностью понимать процесс, который происходит в среде в случае, если вызов метода QueryEditFiles (с указанием значения ReportOnly) возвращает флаги QER_EditNotOK и QER_ReadOnlyUnderScc.
  5. Пользователь пытается открыть файл проекта.
  6. Среда вызывает вашу реализацию метода CanCreateProject.
  7. Если метод CanCreateProject возвращает значение true , среда вызывает вашу реализацию метода CanCreateProject.
  8. Среда вызывает вашу реализацию метода Load для открытия файла и инициализации объекта проекта, например Project1.
  9. Среда вызывает вашу реализацию метода IVsProjectUpgrade::UpgradeProject , чтобы определить, необходимо ли обновить файл проекта.
  10. Вы вызываете метод QueryEditFiles и передаете значение QEF_ReportOnly для параметра rgfQueryEdit .
  11. Среда возвращает значение QER_EditNotOK для VSQueryEditResult , а в VSQueryEditResultFlags устанавливается бит QER_ReadOnlyUnderScc.
  12. Ваша реализация интерфейса IVsProjectUpgrade вызывает IVsQueryEditQuerySave::QueryEditFiles (QEF_ForceEdit_NoPrompting, QEF_DisallowInMemoryEdits).

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

  • Если вы самостоятельно обеспечиваете перезагрузку проекта, то среда вызывает вашу реализацию метода ReloadItem (VSITEMID_ROOT). Получив этот вызов, перезагрузите первый экземпляр проекта (Project1) и продолжайте обновление файла проекта. Среда определяет, что вы самостоятельно обеспечиваете перезагрузку проекта, если для GetProperty (VSHPROPID_HandlesOwnReload) возвращается значение true .
  • Если вы не обеспечиваете перезагрузку проекта самостоятельно, то для GetProperty (VSHPROPID_HandlesOwnReload) должно возвращаться значение false . В этом случае перед QueryEditFilesвозвратом (QEF_ForceEdit_NoPrompting, QEF_DisallowInMemoryEdits) среда создает другой новый экземпляр проекта, например Project2, как показано ниже.
  • Среда вызывает метод Close для первого объекта проекта (Project1), переводя его таким образом в неактивное состояние.
  • Среда вызывает вашу реализацию метода IVsProjectFactory::CreateProject , чтобы создать второй экземпляр проекта (Project2).
  • Среда вызывает вашу реализацию метода IPersistFileFormat::Load для открытия файла и инициализации второго объекта проекта (Project2).
  • Среда вызывает метод IVsProjectUpgrade::UpgradeProject второй раз, чтобы определить, следует ли обновить объект проекта. Однако этот вызов выполняется для второго экземпляра проекта (Project2). Это проект, который открыт в решении.

Примечание. В случае если первый проект (Project1) переведен в неактивное состояние, в результате первого вызова реализации UpgradeProject должно возвращаться значение S_OK.

В случае сбоя обновления метод IVsProjectUpgrade::UpgradeProject должен возвращать значение VS_E_PROJECTMIGRATIONFAILED. Если обновление не требуется или вы решили не производить его, вызов IVsProjectUpgrade::UpgradeProject следует рассматривать как холостой. Если возвращается код ошибки VS_E_PROJECTMIGRATIONFAILED, в решение проекта добавляется узел-заполнитель.

Обновление элементов проекта

При добавлении или управлении элементами в системах проектов, которые не реализованы, может потребоваться принять участие в процессе обновления проекта. Crystal Reports — это пример элемента, который можно добавить в систему проекта.

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

Получение уведомления об обновлении проекта

  1. Задайте флаг (определенный SolutionOrProjectUpgrading в vsshell80.idl) в реализации элемента проекта. Это приводит к автоматической загрузке элемента проекта VSPackage, когда оболочка Visual Studio определяет, что система проекта находится в процессе обновления.
  2. IVsSolutionEventsProjectUpgrade Советуйте интерфейсу с помощью AdviseSolutionEvents метода.
  3. Интерфейс IVsSolutionEventsProjectUpgrade запускается после завершения выполнения операций обновления системы проекта и создания нового обновленного проекта. В зависимости от сценария IVsSolutionEventsProjectUpgrade интерфейс запускается после OnAfterOpenSolutionOnAfterOpenProjectметода или OnAfterLoadProject метода.

Обновление файлов элементов проекта

  1. Необходимо тщательно управлять процессом резервного копирования файлов в реализации элемента проекта. Это применяется, в частности, для параллельной резервной UpgradeProject копии, где fUpgradeFlag параметр метода заданPUVFF_SXSBACKUP, где файлы, которые были резервированы, помещаются вместе с параллельными файлами, которые обозначены как «old». Резервные копии файлов старше системного времени, когда проект был обновлен, можно назначить устаревшим. Кроме того, они могут быть перезаписаны, если не предпринять конкретные действия, чтобы предотвратить это.
  2. Когда элемент проекта получает уведомление об обновлении проекта, мастер преобразования Visual Studio по-прежнему отображается. Поэтому следует использовать методы IVsUpgradeLogger интерфейса для предоставления сообщений об обновлении до пользовательского интерфейса мастера.

Создание и очистка проектов и решений в Visual Studio

Область применения:yesVisual Studio Visual Studio для Mac noVisual Studio Code no

Процедуры, описанные в этом разделе, используются для построения, перестроения или очистки всех или некоторые проектов или элементов проекта в решении. Пошаговые инструкции см. в разделе Пошаговое руководство. Построение приложения.

Этот раздел относится к Visual Studio в Windows. Информацию о Visual Studio для Mac см. в статье Создание и очистка проектов и решений в Visual Studio для Mac.

Пользовательский интерфейс в вашем выпуске Visual Studio может отличаться от приведенного в этом разделе в зависимости от ваших текущих параметров. Чтобы изменить параметры, например на Общие или Visual C++, выберите Сервис>Импорт и экспорт параметров, а затем щелкните Сбросить все параметры.

Сборка, перестроение или очистка всего решения

  1. В обозревателе решений откройте решение или выберите нужное решение.
  2. В строке меню выберите Сборка, а затем одну из следующих команд.
  3. Выберите Собрать или Собрать решение либо нажмите клавиши CTRL+SHIFT+B, чтобы скомпилировать только те файлы и компоненты проекта, которые были изменены с момента последней сборки.

Примечание. Если решение содержит несколько проектов, команда Собрать меняется на Собрать решение.

Сборка или перестроение одного проекта

  1. В обозревателе решений выберите или откройте решение.
  2. В строке меню выберите Сборка, а затем выберите либо Собратьимя_проекта, либо Перестроитьимя_проекта.
    • Выберите Собратьимя_проекта, чтобы собрать только те компоненты проекта, которые были изменены с момента последней сборки.
    • Выберите ПерестроитьИмя_проекта, чтобы очистить проект, а затем выполнить сборку файлов проекта и всех его компонентов.

Сборка только запускаемого проекта и его зависимостей

  1. В строке меню выберите Сервис>Параметры.
  2. В диалоговом окне Параметры разверните узел Проекты и решения и выберите страницу Сборка и запуск. Откроется диалоговое окно Сборка и запуск>Проекты и решения>Параметры.
  3. Установите флажок При выполнении построить только запускаемые проекты и зависимости. При выборе этого поля проверка только текущий проект запуска и его зависимости создаются при выборе параметра «Запуск отладки» (F5) или «Запуск отладки>> без отладки» (CTRL+F5). При выборе решения сборки> (CTRL+SHIFT+B) создается все решение. После очистки этого поля проверка все проекты, их зависимости и файлы решения создаются при выполнении любой из предыдущих команд.

Сборка только выбранного проекта Visual C++

Выберите проект C++, а затем в строке меню выберите Сборка>Только проект и одну из следующих команд:

Эти команды применяются только к выбранному проекту C++ без сборки, перестроения, очистки или связывания зависимостей проектов и файлов решения. В зависимости от используемой версии Visual Studio подменю Только проект может содержать дополнительные команды.

Компиляция нескольких элементов проекта C++

В Обозреватель решений выберите несколько файлов, которые можно скомпилировать, откройте контекстное меню для одного из этих файлов, а затем нажмите кнопку «Компиляция» или нажмите клавиши CTRL+F7.

Если файлы имеют зависимости, они будут скомпилированы в порядке зависимостей. Операция компиляции завершится ошибкой, если файлам требуется предкомпилированный заголовок, который недоступен при компиляции. Операция компиляции использует текущую активную конфигурацию решения.

Остановка сборки

Выполните одно из следующих действий.

Связанный контент

  • Практическое руководство. Просмотр, сохранение и настройка файлов журнала сборки
  • Получение журналов сборки
  • Компилирование и сборка
  • Общие сведения о конфигурациях сборки
  • Практическое руководство. Настройка конфигураций отладки и выпуска
  • Справочные сведения о сборке C/C++
  • Параметры командной строки для команды devenv
  • Проекты и решения
  • Создание и очистка проектов и решений (Visual Studio для Mac)

Устранение неполадок с установкой и обновлением Visual Studio

Это руководство по устранению неполадок содержит пошаговые инструкции по устранению распространенных проблем с установкой и обновлением Visual Studio.

Возникли проблемы с установкой? Мы можем помочь. Мы предлагаем вариант поддержки в чате по установке (только на английском языке).

Сетевые установки или обновления

Попробуйте следующие возможные решения, которые применяются к типичной проблеме с сетевой установкой по порядку.

1. Проверьте, является ли проблема известной

Первое, что необходимо проверка, является ли проблема, с которой вы столкнулись, является известной проблемой с Visual Studio Installer, над решением которой работает корпорация Майкрософт.

2. Попробуйте восстановить Visual Studio

Попробуйте восстановить установку. Это может устранить многие распространенные проблемы с обновлением.

3. Узнайте, что сообщество разработчиков говорит об ошибке

Если исправление не поправит проблему, найдите сообщение об ошибке в Сообщество разработчиков Visual Studio. Другие участники сообщества могли найти решение или обходное решение для вашей проблемы.

4. Удаление папки установщика (проблемы с обновлением)

Если при обновлении возникла проблема, попробуйте удалить папку Visual Studio Installer, а затем повторно запустить загрузчик установки может устранить определенные сбои обновления. Это приведет к переустановке файлов Visual Studio Installer и сбросу метаданных установки.

  1. Закройте Visual Studio Installer.
  2. Удалите папку Visual Studio Installer. Как правило, путь к папке — C:\Program Files (x86)\Microsoft Visual Studio\Installer.
  3. Запустите загрузчик Visual Studio Installer. Начальный загрузчик может находиться в папке Загрузки с именем файла VisualStudioSetup.exe (Visual Studio 2022) или vs_*.exe (Visual Studio 2019 и предыдущие версии). Вы также можете скачать загрузчик со страниц загрузки visual Studio 2022 или Visual Studio 2019 и предыдущих версий. Затем запустите исполняемый файл, чтобы сбросить метаданные установки.
  4. Попробуйте установить или обновить Visual Studio еще раз. Если Visual Studio Installer продолжает завершать сбой, сообщите о проблеме в службу поддержки.
5. Сообщите о проблеме в службу поддержки

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

Чтобы отправить проблему в служба поддержки Майкрософт, выполните следующие действия.

Снимок экрана: кнопка

  • Для Visual Studio 2022:
    1. Сбор журналов установки. Дополнительные сведения см. в статье Получение журналов установки Visual Studio .
    2. Откройте Visual Studio Installer, а затем выберите Сообщить о проблеме, чтобы открыть средство обратной связи Visual Studio.
    3. Присвойте отчету о проблеме название и укажите соответствующие сведения. Последний журнал установки для Visual Studio Installer автоматически добавляется в раздел Дополнительные вложения отчета о проблеме.
    4. Choose Submit.
  • Для Visual Studio 2019 и предыдущих версий:
    1. Сбор журналов установки. Дополнительные сведения см. в статье Получение журналов установки Visual Studio .
    2. Откройте Visual Studio Installer, а затем выберите Сообщить о проблеме, чтобы открыть средство обратной связи Visual Studio.
    3. Присвойте отчету о проблеме название и укажите соответствующие сведения. Нажмите кнопку Далее , чтобы перейти к разделу Вложения , а затем вложите созданный файл журнала (как правило, файл находится в %TEMP%\vslogs.zip ).
    4. Нажмите кнопку Далее , чтобы просмотреть отчет о проблеме, а затем нажмите кнопку Отправить.
6. Удаление всех установочных файлов Visual Studio

В крайнем случае можно удалить все файлы установки Visual Studio и сведения о продукте:

  1. Удалите все с помощью InstallCleanup.exe.
  2. Повторно запустите загрузчик Visual Studio Installer. Начальный загрузчик может находиться в папке «Загрузки» с именем файла VisualStudioSetup.exe (Visual Studio 2022) или vs*.exe_ (Visual Studio 2019 и предыдущие версии). Вы также можете скачать загрузчик со страниц загрузки visual Studio 2022 или Visual Studio 2019 и предыдущих версий.
  3. Попробуйте переустановить Visual Studio.
7. Откат до предыдущей установки (только для Visual Studio 2022)

Прежде чем пытаться выполнить откат, ознакомьтесь с дополнительными сведениями о функции отката в Visual Studio.

Если ни один из предыдущих шагов не помог вам успешно обновить Visual Studio, можно попробовать выполнить откат до ранее установленной версии. Начиная с Visual Studio 2022 версии 17.4, вы можете выполнить откат до ранее установленной версии, если исходная версия была установлена на текущем канале 17.1.7 или более поздней версии или на канале LTSC 17.0 осенью 2021 г. 17.0.10 или выше.

Вы можете выполнить откат до ранее установленной версии с помощью Visual Studio Installer или с помощью командной строки.

Если вы работаете в организации и используете макет для обновления Visual Studio, ит-администратор должен поддерживать предыдущие пакеты в макете, если ожидается, что клиент сможет выполнить откат. Кроме того, откат может быть отключен или попытка отката может быть отменена, если вы работаете в организации с требованиями к обеспечению безопасности или обновлению программного обеспечения. За дополнительными сведениями обратитесь к ИТ-администратору.

Чтобы выполнить откат с помощью Visual Studio Installer, выполните следующие действия.

Снимок экрана: параметр

  1. Запустите Visual Studio Installer на компьютере.
  2. В установщике найдите установленный выпуск Visual Studio.
  3. Выберите Дополнительно.
  4. Выберите Откат до предыдущей версии.
  5. Для подтверждения нажмите ОК.
8. Свяжитесь с нашим чатом в реальном времени

Если ни один из предыдущих шагов не помог вам успешно установить или обновить Visual Studio, обратитесь к нам с помощью нашего варианта поддержки чата (только на английском языке) для получения дополнительной помощи.

Макет сети или автономные установки

Обновления администратора

Обновления администратора могут применяться неправильно из-за различных ситуаций. Дополнительные сведения см. в статье Об устранении ошибок обновлений администратора.

Вы можете использовать следующие методы, чтобы оставить отзыв об обновлениях администратора Visual Studio или сообщить о проблемах, влияющих на обновления:

  • Задавайте вопросы сообществу на форуме по настройке&Visual Studio.
  • Перейдите на страницу поддержки Visual Studio и проверка, указана ли проблема в разделе часто задаваемых вопросов.
  • Предоставьте отзыв о функциях или сообщите о проблеме команде Visual Studio в отношении вашего интерфейса.
  • Обратитесь к техническому менеджеру по работе с клиентами вашей организации для Корпорации Майкрософт.

Сбор журналов установки для служба поддержки Майкрософт

Если вы обращаетесь служба поддержки Майкрософт, вам может быть предложено собрать журналы установки с помощью Microsoft Visual Studio и средства сбора журналов платформа .NET Framework. Средство сбора журналов собирает журналы установки из всех компонентов, установленных Visual Studio, включая платформа .NET Framework, Windows SDK и SQL Server. Он также собирает сведения о компьютере, инвентаризации установщика Windows и сведения журнала событий Windows для Visual Studio Installer, установщика Windows и восстановления системы.

Чтобы собрать журналы, выполните следующие действия.

  1. Скачайте средство.
  2. Откройте командную команду администратора.
  3. Запустите Collect.exe в папке, в которой вы сохранили средство. Средство должно быть запущено под той же учетной записью пользователя, в которую была запущена неудачная установка. Если вы запускаете средство из другой учетной записи пользователя, задайте -user: параметр, чтобы указать учетную запись пользователя, под которой была запущена неудачная установка. Запустите Collect.exe -? из командной строки администратора, чтобы получить дополнительные параметры и сведения об использовании.

Средство создает файлvslogs.zip в папке %TEMP%, обычно вC:\Users\YourName\AppData\Local\Temp\vslogs.zip.

Сообщите нам о проблемах с помощью средства «Сообщить о проблеме», которое отображается как в Visual Studio Installer, так и в интегрированной среде разработки Visual Studio. Если вы являетесь ИТ-администратором и не установили Visual Studio, вы можете отправить отзыв об ИТ-Администратор здесь.

Проблемы с установкой WebView2

Если групповые политики вашей организации блокируют установку компонента WebView2, вы не сможете установить Visual Studio, так как установщик требует установки WebView2. В этом случае проверка следующие политики:

  • Если настроен параметр «Установка (WebView)» Microsoft Edge , он определяет, можно ли установить WebView2.
  • Если политика «Установка (WebView)» Microsoft Edge не настроена, политика Microsoft Edge InstallDefault определяет, можно ли установить WebView2.

Если ни один из политик не настроен, установка WebView2 разрешена вашей организацией.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *