在一些文章中,人们提到“显式运行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执行。 有人可以解释这个问题吗?
答案 0 :(得分:1)
使用编译器生成的CLR主机,不,我认为你不能这样做。
我相信您必须host the CLR yourself并在调用CorBindToRuntimeEx
时明确指定要加载的CLR。因此,您希望通过指定v2加载一个CLR,另一个指定v4。
以前,你完全不能这样做,它会崩溃。
你不能说,“哦,我只想让这个方法在CLR v2中运行”。您的“托管代码”将位于不同的AppDomain中,因此您必须在两个AppDomain之间进行某种通信,例如远程处理。