0

我开发了一个 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**"

4

2 回答 2

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;
}
于 2013-07-16T09:10:05.977 回答
0

我的解决方案:

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

string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

path = \AppData\Local\Microsoft\VisualStudio\...\Extensions\[install path]\xx.dll
于 2019-08-27T06:02:51.213 回答