在VS 2012中安装扩展程序后,它会被放置在%userprofile%AppData\Local\Microsoft\VisualStudio\11.0\Extensions\
(或C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions
中,如果它是为所有用户安装的)和随机名称的文件夹,如" hilatg23.234&#34 ;或" kcsuvnvi.qtq"。有没有办法指定此文件夹的名称,并使此扩展名安装到%userprofile%AppData\Local\Microsoft\VisualStudio\11.0\Extensions\MY_EXTENSION_NAME
答案 0 :(得分:2)
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 :(得分:0)
我的解决方案:
我使用此api获取vsix安装物理路径:
string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
path = \AppData\Local\Microsoft\VisualStudio\...\Extensions\[install path]\xx.dll