15

我正在使用 Winforms 开发 C# 桌面应用程序。我使用 Visual Studio 的单击一次安装工具创建了安装策略。幸运的是,它为客户端提供了检测、下载和设置相关的必备组件。

我的问题是我开始使用 .NET 4.0 开发此应用程序,然后将其升级到 .NET 4.5,现在在先决条件列表中检查了 4.5 和 4。我想知道如果我取消选中 .NET 4.0 组件会好吗?

.NET 4.5 是否包含 .NET 4.0?

4

5 回答 5

26

安装 .NET 4.5 后,它有效地替换了机器上的 .NET 4.0。.NET 4.0 被新版本的 .NET 4.5 覆盖——根据微软的说法——它应该是 100% 向后兼容的。

阅读这些非常好的文章:

.NET 4.5 是 .NET 4.0 的就地替代品

.NET 版本控制和多目标 - .NET 4.5 是对 .NET 4.0 的就地升级

于 2013-02-27T14:17:48.683 回答
3

我认为如果您以 4.5 为目标,则不需要 4.0

请参阅安装 .NET Framework 4.5

.NET Framework 4.5 替换了 .NET Framework 4。在安装了 .NET Framework 4 的系统上安装 .NET Framework 4.5 时,程序集将被替换。*

于 2013-02-27T13:58:34.640 回答
2

它本身不包括它(因为某些部分被覆盖),但是如果您以 4.0 为目标,那么它应该与 4.5 一起使用,反之亦然

于 2013-02-27T14:00:37.543 回答
0

问题的答案在这里:http: //msdn.microsoft.com/en-us/library/5a4x27ek.aspx

恰恰:

• .NET Framework 4.5 替换了 .NET Framework 4。在安装了 .NET Framework 4 的系统上安装 .NET Framework 4.5 时,程序集将被替换。

因此,没有 .NET 4.5 不包含 .NET 4.0。您仍然有可能会错过一些程序集

于 2013-02-27T13:59:26.413 回答
0

您可以为 .NET 4.5 编译应用程序并在 4.0 运行时上运行它——直到您遇到 4.0 上不存在的新功能。此时应用程序会在运行时爆炸。假设您编写了一些主要是 .NET 4.0 的代码,但只有 .NET 4.5 的一些新功能 - .NET 将愉快地启动您的应用程序并正常运行 4.0 的所有内容,直到它达到 4.5 代码 - 然后毫不客气地崩溃在运行时。

因此,没有 .NET 4.5 不包含 .NET 4.0。

于 2013-02-27T14:02:12.537 回答