我正在对从模板创建项目的 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 界面?我一直没能找到它。
如果那不可能,是否至少可以确定扩展是在实验实例中运行还是在非实验实例中运行?我可以使用该信息来定位扩展目录。