Расположение 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-интерфейсов запросов. Примеры см. вики-сайт. |