如何获取我的vsix扩展名的文件夹并使用此值插入一些项目模板的文件?

时间:2010-10-07 11:11:55

标签: vsix

我的VSIX扩展程序包含带有自定义项目文件的项目模板。此文件包含对我的.targets文件的引用,该文件作为VSIX扩展的一部分安装(因此它位于我的扩展名的文件夹中)。我的问题是我找不到任何指示VS扩展路径的变量,这是查找项目文件的目标所必需的。

如果仍有类似的内容:

<Import Project="$(VSExtensionsPath)\MyCompany\MyExtension\MyLang.targets" />

那会很棒。

如果没有,还有其他办法吗?也许我可以在vsix安装期间运行脚本?

2 个答案:

答案 0 :(得分:1)

<Import Project="$([System.IO.Directory]::GetFiles($([System.IO.Path]::Combine($([System.Environment]::GetFolderPath(SpecialFolder.LocalApplicationData)), `Microsoft\VisualStudio\11.0\Extensions`)), `Your.targets`, System.IO.SearchOption.AllDirectories))" />

答案 1 :(得分:0)

不,VS 2010中的VSIX不支持自定义MSBuild目标。在VSIX安装期间无法执行“自定义操作”。

一种可能的解决方案(虽然可能不适合您的情况)将直接在项目文件模板中包含目标。

如果这不可行,那么很遗憾,您将无法使用VSIX部署您的扩展程序。