Где в Visual Studio устанавливаются пользовательские расширения? Я знаю, что вы можете получить путь, хотя ExtensionManager.GetInstalledExtensions()
, но похоже, что ни один из найденных путей не соответствует моему расширению.
где в Visual Studio устанавливаются пользовательские расширения?
Ответы (2)
Расширения (если они развернуты как 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));
person
Matze
schedule
16.06.2016
В случае, если вы не можете найти свое расширение в папке, описанной выше (например, я), существуют также административные расширения, которые можно найти здесь: ‹Папка установки Visual Studio› \ Common7 \ IDE \ Extensions \
- person Mark Spiezio; 02.11.2017
1- Найдите свой пакет ... Допустим, ваш пакет MyExtensionPackage
.
public sealed class MyExtensionPackage : Package
{
//...
}
public static string GetExtensionInstallationDirectoryOrNull()
{
try
{
var uri = new Uri(typeof(MyExtensionPackage).Assembly.CodeBase, UriKind.Absolute);
return Path.GetDirectoryName(uri.LocalPath);
}
catch
{
return null;
}
}
person
Alper Ebicoglu
schedule
07.03.2019