Поделиться через


Расположение Visual Studio

Начиная с Visual Studio 2017, можно установить несколько экземпляров одной и той же версии или даже выпуска. Это полезно, если вы хотите предварительно просмотреть новые функциональные возможности на основном компьютере разработки при сохранении предыдущей установки. Из-за этих изменений нет одной переменной среды или значения реестра, которые можно использовать для поиска экземпляра. Вместо этого можно использовать API COM-запросов для поиска экземпляров на основе критериев, относящихся к расширению.

Это быстрый API только для чтения с пакетами NuGet, доступными для машинного и управляемого кода.

Код Пакет
Нативный https://nuget.org/packages/Microsoft.VisualStudio.Setup.Configuration.Native
Управляется https://nuget.org/packages/Microsoft.VisualStudio.Setup.Configuration.Interop

Можно найти один экземпляр, заданный путем или текущим процессом, или перечислить все экземпляры. Ознакомьтесь с нашими примерами того, как найти Visual Studio.

Инструменты

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

Project Description
vswhere Собственный исполняемый файл с одним файлом для поиска условий выполнения экземпляров, таких как выпуск или предварительная версия, установленный продукт и установленные рабочие нагрузки. Кроме того, поддерживает поиск Visual Studio 2010 и более новых версий, хотя для Visual Studio 2017 и более новых версий возвращается меньше сведений. Примеры см. вики-сайт.
Командлеты VSSetup Командлеты PowerShell поддерживают 2.0 и более новые, которые возвращают богатые сведения в качестве объектов, которые можно использовать для поиска экземпляров на основе тех же критериев, что и в любом месте , и для обнаружения еще большего размера свойств экземпляров. Примеры см. вики-сайт.
VSIXBootstrapper Автоматически находит VSIXInstaller и передает командную строку для установки *.vsix файла. Эта функция может быть полезна в установщиках, которые не имеют прямой поддержки API-интерфейсов запросов. Примеры см. вики-сайт.