如何获取我的vsix扩展名';s文件夹,并使用此值插入到某些项目模板中';s文件?

如何获取我的vsix扩展名';s文件夹,并使用此值插入到某些项目模板中';s文件?,vsix,Vsix,我的VSIX扩展具有带有自定义项目文件的项目模板。此文件包含对我的.targets文件的引用,该文件作为VSIX扩展的一部分安装(因此它位于我的扩展的文件夹中)。我的问题是,我找不到任何指示VS扩展名路径的变量,这是为项目文件找到目标所需的 如果还有类似的情况: <Import Project="$(VSExtensionsPath)\MyCompany\MyExtension\MyLang.targets" /> 那太好了 如果没有,还有别的办法吗?也许我可以在vsix安装期

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

如果还有类似的情况:

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

那太好了


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

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

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


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

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

<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))" />
一种可能的解决方案(可能不适合您的情况)是将目标直接包含在项目文件模板中

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


<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))" />