gpt4 book ai didi

.net - 用 .NET 4.5 编写的软件需要什么版本的 .NET 运行时?

转载 作者:可可西里 更新时间:2023-11-01 14:40:10 25 4
gpt4 key购买 nike

这是一个简单的问题。我一直在用 .NET 4.5(现在是 Beta)编写一个软件。运行此软件需要什么版本的 .NET 运行时?是4.5吗?年纪大一些?

另外,.NET 更新是 Windows 更新的一部分吗?

最佳答案

为了运行 4.5 编译的程序集,您必须安装 4.5 框架。 4.5 安装是就地升级,主要向前兼容 4.0,但绝对不向后兼容。

类型转发器是一个特别容易绊倒你的地方。 4.5 框架包含大量新型转发器(超过 1,100 个)。类型转发器是程序集声明类型从程序集 A 移动到程序集 B 的一种方式。CLR 将默默地将对给定类型的任何引用从 A 重定向到 B。

尽管针对 4.5 编译的程序集会发出对该类型的引用,就好像它存在于程序集 B 中一样。如果您随后针对 4.0 安装运行该程序集,它将期望该类型位于程序集 B 中,但它不会.结果将是类型加载异常。

具体例子:

static void Main(string[] args)
{
var attrib = new ExtensionAttribute();
Console.WriteLine(attrib);
}

在 4.5 机器上编译该代码,然后尝试在 4.0 机器上运行它。结果将是类型加载异常。 ExtensionAttribute 类型从 4.0 中的 System.Core 移动到 4.5 中的 mscorlib

关于.net - 用 .NET 4.5 编写的软件需要什么版本的 .NET 运行时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10436187/

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