MEFを使用してMSBUILDカスタムタスクを展開する方法は?
-
28-09-2019 - |
質問
Visual Studio 2010のカスタムアイテムとプロジェクトテンプレートが多数あります。これらの拡張機能を複数の開発者のマシンに展開するために使用できるVSIXパッケージを構築しています。
現在、新しいアイテムテンプレートに必要なカスタムMSBuildタスクを作成しています。
私の地元のプロジェクトでは、プロジェクトファイルにハードコーディングされたパスを入れることで、これを機能させることができます。
ただし、これは、VSIXパッケージが「DEV」Visual Studioインスタンスに展開されている場合には機能しません。 Visual Studioは、custombuildtask.dllが見つからないと報告しています。
vsixはDLLをどこに展開しますか?他のマシンでDLLを見つけるために使用できるMSBUILD%(PATH)変数はありますか、それとも各ユーザーがDLLを手動でコピーしたり、グローバルな ".TASKS"ファイルをVisual Studioのインストールに配置する必要がありますか?
注:MSBUILDタスクには、アイテムとプロジェクトテンプレートの方法でVSIXコンテンツタイプはありません。 「VSパッケージ」、「MEFコンポーネント」、「カスタムエクステンションタイプ」を試しましたが、機能していないようです。
解決
vSixパッケージは任意の場所にファイルをインストールできず、MSBuildタスクはMSBuildフォルダーに移動する必要があるため、これができるとは思いません。
所属していません StackOverflow