在visual studio中安装了自定义扩展?

Yit*_*tuo 40 vsx vs-extensibility vsix visual-studio-extensions

Visual Studio中安装的自定义扩展在哪里?我知道你可以获得路径ExtensionManager.GetInstalledExtensions(),但似乎没有找到的路径对应于我的扩展.

Mat*_*tze 55

扩展程序(如果部署为VSIX)将安装到用户的配置文件中; 每个扩展名将安装到具有随机名称的文件夹中,例如:

%LocalAppData%\Microsoft\VisualStudio\12.0\Extensions\s5lxc0ne.1kp
Run Code Online (Sandbox Code Playgroud)

如果要在运行时获取程序包安装路径,可以从定义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));
Run Code Online (Sandbox Code Playgroud)

  • 如果您在上面描述的文件夹中找不到您的扩展名(像我一样),还可以在此处找到"管理扩展":<Visual Studio安装文件夹>\Common7\IDE\Extensions \ (10认同)