У меня есть пакет Visual Studio, который выполняет часть своей работы, запуская внешний процесс (используя System.Diagnostics.Process
) и взаимодействуя с ним через стандартный ввод / вывод. В настоящее время у меня есть путь к жестко запрограммированному .exe
, который явно не работает для фактического развертывания расширения. Как правильно упаковывать и распространять .exe
с расширением? (Кроме того, после того, как я это сделал, как мне программно найти путь к установленному файлу .exe
.) Желательно, чтобы я поместил его в файл .vsix
, чтобы установка была простой.
РЕДАКТИРОВАТЬ: Я поместил соответствующую часть моего кода в BitBucket (это может быть полезно для других, использующих Roslyn): roslyn_process , чтобы дать лучшее представление о том, что Я пытаюсь сделать. Этот код устанавливает связь между расширением Visual Studio с использованием реализации AbstractProcessHandler
и отдельным процессом с использованием RoslynProcess
. Последний постоянно информируется об изменениях файлов кода в Visual Studio и о том, какой файл кода просматривается, поэтому он может выполнять анализ с актуальной информацией, несмотря на то, что он не работает как расширение Visual Studio, что налагает ограничения Рослин на весь редактируемый код.
РЕДАКТИРОВАТЬ 2: Используя этот ответ , я могу получить каталог расширения. Я могу включить другой пакет в source.extension.vsixmanifest
, добавив его в список контента как тип «Пользовательский тип расширения». Затем .exe
появляется в каталоге расширения. Похоже, что это правильное решение, хотя способ получения каталога помечен в MSDN как то, что я не должен использовать.
Кажется, что это может быть лучшим способом сделать это, даже если это кажется хакерским, и в этом случае я опубликую это как ответ, как только у меня все заработает.