.NET Framework 4.0 does not install when 4.5 is already installed
我将Visual Studio 2012用于需要(至少).NET Framework 4.0的WPF项目。我已经安装了4.5,但使用Windows XP的人无法安装该应用程序(因为4.5不在Windows XP上运行)。我使用ClickOnce作为部署应用程序。
当我尝试输入4.0版本时,我得到了错误(从荷兰语翻译过来,这样英文版本可能会有点不同):
The same or a higher version of .NET Framework 4 is already installed on this computer
我怎么修这个?
.NET 4.5是.NET 4.0的clr插件,因此,在安装.NET 4.5时,它包含4.0。在安装了.NET 4.5的计算机上生成ClickOnce时,存在已知的问题。
Visual Studio 2012更新1应该可以解决此问题。
可以在Visual Studio中为.NET应用程序设置.NET框架版本。如果要发布与Windows XP兼容的版本,则应始终选择.NET 4或更低版本作为目标框架。
.NET 4.0框架应与4.5并排列出。
它位于通常安装的Windows 8计算机Visual Studio 2012 Ultimate上,无需安装任何其他框架或SDK。
.NET Framework 4.5是就地更新并替换.NET Framework 4。一旦安装了.NET Framework 4.5,就无法返回到.NET Framework 4。请注意,未更改.NET Framework 4.5程序集的主要版本和次要版本。这意味着.NET Framework 4应用程序不会"看到"两者之间的区别,应该以相同的方式运行。由于您希望应用程序在Windows XP上运行,因此需要以项目中的.NET Framework 4为目标。这将确保您的应用程序不使用任何添加到.NET Framework 4.5中的新API。完成此操作后,您应该能够在.NET Framework 4和.NET Framework 4.5上运行应用程序。请注意,即使兼容条非常高(由于.NET Framework 4.5是一个就地更新),您仍然会发现一些细微的差异(例如导致.NET Framework 4中异常的错误可能已在.NET Framework 4.5中修复,异常不再抛出),因此您需要在.NET Framework 4上测试您的应用程序。由于在.NET Framework 4.5上运行机器,因此它不会显示某些问题。其原因是,Targetting确保应用程序不使用以前不存在但无法确保运行时行为的API,因为在使用.NET Framework 4.5的计算机上,它将始终使用.NET Framework 4.5运行时(因为不再有.NET Framework 4运行时)。
简单,只需检查控制面板并卸载更高版本,然后继续安装。