【发布时间】:2012-02-04 10:22:04
【问题描述】:
我正在对从模板创建项目的 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 界面?我没找到。
如果这不可能,是否至少可以确定扩展程序是在实验实例中运行还是在非实验实例中运行?我可以使用该信息来定位扩展目录。
【问题讨论】:
标签: visual-studio visual-studio-2010 visual-studio-extensions