是否可以使用容器在.net 3.5应用程序中加载.net 4.0应用程序?

时间:2014-02-19 22:19:45

标签: c# .net mef maf

是否可以使用MEF或MAF等容器在.net 3.5应用程序中加载.net 4.0应用程序?

我知道在.NET中只支持向后兼容这一事实,这会对容器产生什么影响吗?

1 个答案:

答案 0 :(得分:3)

这是不可能的。当应用程序加载时,它将使用CLR v2.0(.NET 3.5)。 .NET 4.0程序集需要使用CLR v4.0,并且由于应用程序无法同时承载两个CLR,因此无论程序集的加载方式如何,都不会有太多运气。

您最好的选择是使用CLR v4.0启动应用程序:

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
</startup>

修改

根据Jon Hanna的评论,事实证明“不可能”是一个过于强烈的短语。 称为“CLR In-Process并排”的东西,它是.NET 4的一部分。我仍然推荐我的原始答案,但有关这方面的更多信息可以在以下位置找到: / p>