Дайте плагину MAF, который запускается как отдельный процесс, собственное имя - PullRequest
3 голосов
/ 18 января 2012

Я активирую свой плагин, используя MAF [Managed Add-In Framework] в отдельном процессе.

Проблема заключается в том, что он назначает имя по умолчанию «AddInProcess32» каждому плагину, который запускается как отдельный процесс.процесс, который MAF создать?Если да, то как?

PS: Почему я хочу дать свое имя?Потому что я не хочу, чтобы пользователь по ошибке убил процесс ... Я хочу дать процессу имя, которое ясно показывает, что оно является частью моего приложения.

1 Ответ

2 голосов
/ 21 января 2012

Хотя это и желательно, это, к сожалению, невозможно, как правильно проанализировал Dos095-russ уже в своем ответе на идентичный вопрос Как указать имена процессов AddIn? (+1 там).

Чтобы вознаграждение хоть немного стоило вашего, я добавлю немного контекста:

Имя файла для этого процесса жестко закодировано в конструкторе AddInProcess Class из-за самой цели, для которой был разработан класс, а именно Обеспечить [s] внешний процесс для запуска надстроек вне процесса из хост-приложения . Специфическая механика затронута в разделе Замечания :

Исполняемый файл, запускающий надстройку, получается из одного из двух файлов устанавливается с .NET Framework в каталоге Windows. От по умолчанию исполняемый файл, соответствующий битам на слово хоста приложение используется. Если хост является 64-разрядным процессом, AddInProcess.exe работает; в противном случае AddInProcess32.exe запускается. Чтобы указать способ исполняемый файл выбран, используйте конструктор AddInProcess (Platform) для создайте объект AddInProcess.

Основные причины, по которым могут потребоваться надстройки вне процесса некоторыми приложениями, правильно обобщены в ответе Даниельга на Выбор между MEF и MAF (System.AddIn) . Если они на самом деле не применимы к вашему варианту использования, вы можете изучить ответы и ссылки, предоставленные для Является ли MEF заменой System.Addin? , чтобы определить, может ли среда Managed Extensibility Framework (MEF) На самом деле, это лучшее решение - оно отлично подходит для того, что оно делает, очень легко программировать и, соответственно, широко используется.

...