我正在使用 Winforms 开发 C# 桌面应用程序。我使用 Visual Studio 的单击一次安装工具创建了安装策略。幸运的是,它为客户端提供了检测、下载和设置相关的必备组件。
我的问题是我开始使用 .NET 4.0 开发此应用程序,然后将其升级到 .NET 4.5,现在在先决条件列表中检查了 4.5 和 4。我想知道如果我取消选中 .NET 4.0 组件会好吗?
.NET 4.5 是否包含 .NET 4.0?
我正在使用 Winforms 开发 C# 桌面应用程序。我使用 Visual Studio 的单击一次安装工具创建了安装策略。幸运的是,它为客户端提供了检测、下载和设置相关的必备组件。
我的问题是我开始使用 .NET 4.0 开发此应用程序,然后将其升级到 .NET 4.5,现在在先决条件列表中检查了 4.5 和 4。我想知道如果我取消选中 .NET 4.0 组件会好吗?
.NET 4.5 是否包含 .NET 4.0?
安装 .NET 4.5 后,它有效地替换了机器上的 .NET 4.0。.NET 4.0 被新版本的 .NET 4.5 覆盖——根据微软的说法——它应该是 100% 向后兼容的。
阅读这些非常好的文章:
我认为如果您以 4.5 为目标,则不需要 4.0
.NET Framework 4.5 替换了 .NET Framework 4。在安装了 .NET Framework 4 的系统上安装 .NET Framework 4.5 时,程序集将被替换。*
它本身不包括它(因为某些部分被覆盖),但是如果您以 4.0 为目标,那么它应该与 4.5 一起使用,反之亦然。
问题的答案在这里: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。您仍然有可能会错过一些程序集
您可以为 .NET 4.5 编译应用程序并在 4.0 运行时上运行它——直到您遇到 4.0 上不存在的新功能。此时应用程序会在运行时爆炸。假设您编写了一些主要是 .NET 4.0 的代码,但只有 .NET 4.5 的一些新功能 - .NET 将愉快地启动您的应用程序并正常运行 4.0 的所有内容,直到它达到 4.5 代码 - 然后毫不客气地崩溃在运行时。
因此,没有 .NET 4.5 不包含 .NET 4.0。