где пользовательские расширения устанавливаются в visual studio?

Где пользовательские расширения, установленные в Visual Studio? Я знаю, что вы можете получить путь, хотя ExtensionManager.GetInstalledExtensions(), однако, похоже, ни один из найденных путей не соответствует моему расширению.

Ответы

Ответ 1

Расширения (если они развернуты как VSIX) будут установлены в профиль пользователя; каждое расширение будет установлено в папку со случайным именем, например:

%LocalAppData%\Microsoft\VisualStudio\12.0\Extensions\s5lxc0ne.1kp

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

static string GetAssemblyLocalPathFrom(Type type)
{
    string codebase = type.Assembly.CodeBase;
    var uri = new Uri(codebase, UriKind.Absolute);
    return uri.LocalPath;
}

...

string installationPath = GetAssemblyLocalPathFrom(typeof(MyPackage));