指定VS扩展安装目录名称

3

在安装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这样的文件夹中?

3个回答

2
嗯,不是这样的。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;
}    

1
我的解决方案:
我使用这个API获取VSIX安装的物理路径:
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

path = \AppData\Local\Microsoft\VisualStudio\...\Extensions\[install path]\xx.dll

0

您可以通过在vsix项目文件中使用此msbuild属性来控制Extensions<folder>的名称:

<ExtensionInstallationFolder>YourExtensionName</ExtensionInstallationFolder>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接