我目前正在为我正在编写的程序开发一个加载项系统,并且遇到了主机和加载项应该如何在公共基础上进行通信的问题。我使用System.AddIn
命名空间(以前称为MAF)来发现,隔离和激活加载项。
现在,由于我希望(需要?)加载项存在于来自主机的单独AppDomain中,因此存在无法在AppDomain之间共享类型而不在主机和加载项之间共享类型的问题。我知道AppDomains之间有一些内置的类型编组支持,但对此一无所知,也不知道它是否合适。
所以问题是,如果我想在两个独立的应用程序域中的加载项和主机之间共享相同的对象(实例),我该怎么办?也许有一个更微妙的方法解决这个问题?