0

在一些文章中,人们提到“显式运行 sxs”。真的有可能吗?我已阅读有关该主题的几篇文章:http:
//msdn.microsoft.com/en-us/magazine/ee819091.aspx
http://blogs.msdn.com/b/dotnet/archive/2009/06/03 /in-process-side-by-side-part1.aspx
http://msdn.microsoft.com/en-us/library/ee518876.aspx

但目前尚不清楚是否可以强制在 .net 4 进程的旧 .net 版本下执行一段托管代码。

到目前为止,似乎只有 COM 组件需要较旧的 .net,因此 .net 4 clr 将自动启动 SxS 执行。有人可以阐明这个问题吗?

4

1 回答 1

1

使用编译器生成的 CLR 主机,不,我认为您不能这样做。

我相信您必须自己托管 CLR,并在调用时明确指定要加载的 CLR CorBindToRuntimeEx。因此,您希望通过指定 v2 加载一个 CLR,另一个指定 v4。

以前,你根本无法做到这一点,它会严重崩溃。

你不能真的说,“哦,我只是想让这个方法在 CLR v2 中运行”。您的“托管代码”将位于不同的 AppDomain 中,因此您必须在两个 AppDomain 之间进行某种通信,例如远程处理。

于 2012-01-30T21:10:49.370 回答