【问题标题】:Specify VS extension installation directory name指定VS扩展安装目录名
【发布时间】:2013-11-11 08:52:39
【问题描述】:

在 VS 2012 中安装扩展程序后,它被放置在 %userprofile%AppData\Local\Microsoft\VisualStudio\11.0\Extensions\(或 C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions,如果为所有用户安装)和随机名称的文件夹中,如“hilatg23.234”或“kcsuvnvi.qtq”。有没有办法指定这个文件夹的名称并使这个扩展安装到像%userprofile%AppData\Local\Microsoft\VisualStudio\11.0\Extensions\MY_EXTENSION_NAME这样的文件夹中

【问题讨论】:

    标签: visual-studio visual-studio-2012 visual-studio-extensions


    【解决方案1】:

    嗯,不这么认为。 VSIX 安装程序将始终自动选择安装目录。如果您想让用户决定安装文件夹,您需要创建一个MSI 安装包。

    前段时间我回答了另一个关于包注册的问题;也许提供的一些信息可能有助于创建这样的设置。见帖子:MSI installed VSPackage is loaded in Experimental Instance only

    如果你只是想在运行时获取包的安装文件夹,你可以从包的汇编代码库中获取它,比如:

    private static string ObtainInstallationFolder()
    {
        Type packageType = typeof(MyPackage);
        Uri uri = new Uri(packageType.Assembly.CodeBase);
        var assemblyFileInfo = new FileInfo(uri.LocalPath);
        return assemblyFileInfo.Directory.FullName;
    }    
    

    【讨论】:

      【解决方案2】:

      我的解决方案:

      我用这个api获取vsix安装物理路径:

      string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
      
      path = \AppData\Local\Microsoft\VisualStudio\...\Extensions\[install path]\xx.dll
      

      【讨论】:

        猜你喜欢
        • 2014-01-25
        • 2017-07-26
        • 1970-01-01
        • 1970-01-01
        • 2013-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-19
        相关资源
        最近更新 更多