.NET 4.5是否包含.NET 4.0?

15
我正在使用Winforms开发C#桌面应用程序。我使用Visual Studio的ClickOnce安装工具创建了一种安装策略。幸运的是,它提供了客户端检测、下载和设置相关的预备组件。
我的问题是,我开始使用.NET 4.0来开发这个应用程序,然后将其升级到.NET 4.5。现在,在先决条件列表中,4.5和4都被选中。我想知道,如果我取消选择.NET 4.0组件,是否可以正常运行?
.NET 4.5包括.NET 4.0吗?
5个回答

26

3
我认为如果你的目标是4.5,那么就没有必要使用4.0了。
请查看安装.NET Framework 4.5

.NET Framework 4.5 取代了 .NET Framework 4。当你在已安装.NET Framework 4的系统上安装.NET Framework 4.5时,程序集将被替换。


.NET 4.5有一些在4.0中不可用的功能,因此最佳实践是针对较旧的版本进行目标设置,以避免使用在4.0中不存在的功能。 - MDMoore313

2

它本身不包括它(因为某些部分被覆盖了),但是如果你针对4.0,则应该能够使用4.5,但反过来不行


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。您仍有可能会错过一些程序集。


因此,既然我测试并且发现我的应用程序不需要任何 .NET 4.0 特定的程序集,我就不应该从先决条件列表中删除它。谢谢。 - Tolga Evcimen

-1

你可以为.NET 4.5编译应用程序并在4.0运行时上运行它 - 直到你遇到一个在4.0上不存在的新功能。此时,应用程序会在运行时崩溃。假设你编写了一些代码,大部分是.NET 4.0,但只有一些.NET 4.5的新功能 - .NET将愉快地启动您的应用程序并运行所有4.0内容,直到它遇到那个4.5代码,然后在运行时不礼貌地崩溃。

所以,没有.NET 4.5包括.NET 4.0。


你说的有点复杂了 :) 我没太明白。 - Tolga Evcimen
2
你的回答似乎在争辩4.0不包括4.5,这并没有帮助。 - rich p

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接