为什么我得到一个Visual Studio扩展临时名称

时间:2013-07-16 08:13:50

标签: visual-studio visual-studio-extensions

我开发了VS扩展(VSIX),我需要确切知道扩展的安装位置。

我知道应该安装在这个文件夹的某个地方:

  

C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions“

但是,它似乎位于具有随机名称的文件夹中:

  

C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions ** kwsjp3kd.f5k **“

所以,我的问题是:如何在我之前选择的名称的文件夹中安装我的扩展程序,如下所示?

  

C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ Extensions ** MyExtension **“

2 个答案:

答案 0 :(得分:1)

我正在使用一个帮助器方法,从定义我的包类的程序集的代码库中获取包安装文件夹......

internal static string GetPackageInstallationFolder()
{
    Type packageType = typeof(MyPackage);
    var assemblyCodeBaseUri = new Uri(packageType.Assembly.CodeBase, UriKind.Absolute);
    var assemblyFileInfo = new FileInfo(assemblyCodeBaseUri.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