visual-studio - 查找 Visual Studio 2010 扩展的主目录

标签 visual-studio visual-studio-2010 visual-studio-extensions

我正在对从模板创建项目的 Visual Studio 向导进行更改,并且需要将程序集的引用添加到该项目中,该项目也位于扩展目录中。所以我需要设置 <hintpath> .

我一直无法弄清楚正在运行的 VS 扩展如何发现它的扩展目录,它是这样的目录名称:

%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\myCompany\myExtension



使用 System.Reflection.Assembly.GetExecutingAssembly().CodeBase产量:

"C:\Windows\Microsoft.Net\assembly\GAC_MSIL\myCompany.myExtension\v4.0_1.0.0.0__936015a19c3638eb\myCompany.myExtension.dll"



不幸的是,没有帮助。使用 GetCallingAssembly()也好不到哪里去——它指向 MSIL_GAC 中的另一个目录。

是否有返回此信息的 Visual Studio 界面?我一直无法找到它。

如果这是不可能的,是否至少可以确定扩展是在实验性实例还是非实验性实例中运行?我可以使用该信息来定位扩展目录。

最佳答案

也许看看 IInstalledExtension.InstallPath .您可以获得 IInstalledExtension通过 IVsExtensionManager .

不幸的是,评论中的信息表明这不是正确的做事方式:

Although this API supports the Extension Manager infrastructure, we recommend that you do not use it because it is subject to change.



编辑:这是代码:
    static IVsExtensionManager GetExtensionManager()
    {
        return myPackage.GetService(System.typeof(IVsExtensionManager)) as IVsExtensionManager;
    }
    static IInstalledExtension GetExtension(string identifier)
    {
        return GetExtensionManager().GetInstalledExtension(identifier);
    }
    static string GetExtensionDirectory(string identifier)
    {
        return GetExtension(identifier).InstallPath;
    }
string identifier是您在扩展程序的“ID”字段中输入的任何内容 source.extension.vsixmanifest文件。它默认为包 GUID。

关于visual-studio - 查找 Visual Studio 2010 扩展的主目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8762062/

相关文章:

.net - 没有安装Visual Studio的应用程序崩溃

c# - asp.net有没有办法触发是否显示fieldset?

c# - 如何从 Windows 服务打印 PDF 文档

visual-studio - 在不删除 ProjectTemplatesCache 的情况下安装 Visual Studio 项目模板

c# - 写入 Visual Studio 的输出窗口

c# - Visual Studio 2010 中的 "Cannot evaluate expression because the code of the current method is optimized"

c++ - Visual Studio 调试器中的 cdb 命令,例如 WinDbg?

c# - Linq查询以计算数据表中的字段

visual-studio - VS Add-on 将光标下标识符的完整类型名称复制到剪贴板

windows-runtime - Visual Studio Express for Windows 是否可以支持 TypeScript?