gpt4 book ai didi

.net-2.0 - 从 .NET 4.0 应用程序链接 .NET 2.0 托管程序集时,使用哪个框架?

转载 作者:行者123 更新时间:2023-12-03 11:01:05 25 4
gpt4 key购买 nike

如果我有一个需要从 4.0 CLR 应用程序链接到的 2.0 CLR 程序集(纯托管代码,没有混合模式问题),那么 2.0 代码是在 2.0 CLR 还是 4.0.0 上运行?

基本上,是否存在影响 2.0 代码的 4.0 破坏性更改的风险?

最佳答案

上面的答案是错误的。您确实与完整的框架并存。 .Net 2 应用程序(注意这意味着 EXE,而不是库)不会自动升级到 .Net 4。

但是,如果 .Net 4 应用程序加载了 .Net 2 程序集,它就会加载到同一个运行时中(否则它们怎么能共享信息)。 .Net 2 程序集使用兼容模式加载到 .net 4 运行时中,该模式应该最大限度地减少更改中的损坏(主要用于 .Net 4 中的安全更改)。

.Net 2 程序集不能引用 .Net 4 程序集,因为它没有功能。

我所知道的唯一异常(exception)是如果您从 C++ 应用程序加载 .Net 程序集。 C++ 应用程序可以加载和托管两个运行时。它可以加载 .Net 2 程序集和 .Net 4 程序集,但它们无法直接相互通信。这就是 CLR Procs 在 SQL Server 中的工作方式。您可以拥有不通信但都加载到服务器上的 .Net 2 CLR Proc 和 .Net 4 CLR Proc。

最近在 MSDN 杂志上有一篇关于托管 .Net 框架的很棒的文章,但我现在找不到了。也许其他人可以发布链接。

因此,您应该能够将几乎任何 .Net 2 程序集加载到 .Net 4 可执行文件中,而不会出现太大问题。我看到的唯一问题是安全权限。

关于.net-2.0 - 从 .NET 4.0 应用程序链接 .NET 2.0 托管程序集时,使用哪个框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3267491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com