1

私の VSIX 拡張機能には、カスタム プロジェクト ファイルを含むプロジェクト テンプレートがあります。このファイルには、.targetsVSIX 拡張機能の一部としてインストールされているファイルへの参照が含まれています (したがって、拡張機能のフォルダーにあります)。私の問題は、プロジェクト ファイルのターゲットを見つけるために必要な VS 拡張パスを示す変数が見つからないことです。

まだ次のようなものがある場合:

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

それは素晴らしいことです。

そうでない場合、他の方法はありますか?vsix のインストール中にスクリプトを実行できますか?

4

2 に答える 2

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))" />
于 2013-04-28T15:42:15.583 に答える
0

No, custom MSBuild targets are not supported in VSIX in VS 2010. VSIX のインストール時に "カスタム アクション" を実行する方法はありません。

考えられる解決策の 1 つ (状況によっては適切ではないかもしれません) は、プロジェクト ファイル テンプレートにターゲットを直接含めることです。

これが実現できない場合、残念ながら VSIX を使用して拡張機能を展開することはできません。

于 2010-10-07T20:24:07.300 に答える