在 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
问问题
1630 次
2 回答
2
嗯,不这么认为。VSIX 安装程序将始终自动选择安装目录。如果您想让用户决定安装文件夹,您需要创建一个MSI
安装包。
前段时间我回答了另一个关于包注册的问题;也许提供的一些信息可能有助于创建这样的设置。请参阅帖子:MSI 安装的 VSPackage 仅在实验实例中加载
如果您只想在运行时获取包安装文件夹,您可以从包的汇编代码库中获取它,例如:
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;
}
于 2013-10-31T14:07:45.863 回答
1
我的解决方案:
我使用这个 api 获取 vsix 安装物理路径:
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
path = \AppData\Local\Microsoft\VisualStudio\...\Extensions\[install path]\xx.dll
于 2019-08-26T14:24:26.413 回答