我的VSIX扩展程序包含带有自定义项目文件的项目模板。此文件包含对我的.targets
文件的引用,该文件作为VSIX扩展的一部分安装(因此它位于我的扩展名的文件夹中)。我的问题是我找不到任何指示VS扩展路径的变量,这是查找项目文件的目标所必需的。
如果仍有类似的内容:
<Import Project="$(VSExtensionsPath)\MyCompany\MyExtension\MyLang.targets" />
那会很棒。
如果没有,还有其他办法吗?也许我可以在vsix安装期间运行脚本?
答案 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部署您的扩展程序。