2012-01-18 70 views
3

我在一个单独的进程中使用MAF [托管插件框架]激活我的插件。给MAF插件运行一个独立的进程一个自定义名称

问题是它给每个 插件默认名称“AddInProcess32”作为一个单独的进程运行。

我可以给MAF创建的进程定义一个自定义名称吗?如果是这样如何?

PS:为什么我想给自定义名称?因为我不希望用户错误地杀死进程... 我想给程序一个名称,它清楚地显示它是我应用程序的一部分。

+0

+1(然后一些......)至少抵消你的慷慨的赏金;) – 2012-01-21 17:51:17

回答

2

虽然令人满意,但不幸的是,这是不可能的,正如Dos095-russ已经在他对相同问题How to specify AddIn process names?(在那里的+1)的回答中所分析的那样。

为了使赏金值得你一点,至少,我会添加一些背景,但:

名对于这个过程是在AddInProcess Class的构造硬编码由于非常宗旨类已被设计为,即提供用于从主机应用程序运行加载进程外部进程的外部进程。具体机制是在感动备注部分:

运行从与Windows目录下.NET Framework中安装了两个中的一个文件 获得附加在可执行文件。默认情况下,使用 应用程序的可执行文件,该可执行文件与主机 应用程序的每个字的位相匹配。如果主机是64位进程,则运行AddInProcess.exe ;否则,运行AddInProcess32.exe。要指定选择 可执行文件的方式,请使用AddInProcess(平台)构造函数 创建AddInProcess对象。

的主要原因,为什么出来的进程加载项可能需要一些应用正确地总结了Danielg的回答Choosing between MEF and MAF (System.AddIn)。如果这些实际上并不适用于您的用例,那么您可以探索为Is MEF a replacement for System.Addin?提供的答案和链接,以便判断托管扩展性框架(MEF)是否可能是更好的解决方案 - 它对于它的顺便做法非常出色。 ,非常容易编程并据此广泛使用。

+0

那么,MEF不会给我隔离。我必须开始我的插件作为一个单独的过程... – Novalis 2012-01-23 07:56:19

相关问题