单个 window 进程中的 Side by Side CLR 如何处理 GC 和多个 AppDomain?

How Side by Side CLR in a single window process handles GC and multiple AppDomain?

我试图了解何时将多个 CLR 加载到单个 window 进程中。

帮助我理解。谢谢

加载到进程中的 CLR 彼此不知道。就每个 运行 时间而言,其他只是使用自己的非托管内存的本机代码。这意味着一个对象不能从 运行 时间传递到另一个对象,相反它必须通过相同的 pinning/marshaling 要求才能与本机代码进行互操作。

如果 CLRv2 中的方法调用 CLRv4 中的方法,它们将看到同一个本机线程,但有自己的 'managed thread' 视图。 CLRv2 会简单地认为它正在调用本地方法,而 CLRv4 会认为它是从本地代码调用的。