安装4.5时,不会安装.NET Framework 4.0

时间:2013-01-28 20:40:51

标签: .net-4.0 visual-studio-2012 clickonce .net-4.5

我将Visual Studio 2012用于需要(至少).NET Framework 4.0的WPF项目。 我已经安装了4.5,但是使用Windows XP的人无法安装该应用程序(因为4.5不能在Windows XP上运行)。 我使用ClickOnce作为部署应用程序。

当我尝试安装4.0版本时,我收到错误(翻译自荷兰语,因此英文版可能会略有不同):

  

此计算机上已安装相同或更高版本的.NET Framework 4

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:7)

.NET 4.5是CLR的.NET 4.0附加组件,因此,当您安装.NET 4.5时,它包含4.0。 ClickOnce在安装了.NET 4.5的计算机上生成时存在已知问题。

Visual Studio 2012 Update 1应该可以解决此问题。

您可以在Visual Studio中为.NET应用程序设置.NET框架版本。如果要发布与Windows XP兼容的版本,则应始终选择.NET 4或更低版本作为目标框架。

.NET 4.0 Framework应与4.5一起列出。

Enter image description here

这是在正常安装的Windows 8计算机Visual Studio 2012 Ultimate上,无需安装任何其他框架或SDK。

答案 1 :(得分:3)

.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上运行它不会显示某些问题。这样做的原因是,目标确保应用程序不使用之前不存在的API但无法确保运行时的行为,因为在使用.NET Framework 4.5的计算机上它始终使用.NET Framework 4.5运行时(因为没有那里有.NET Framework 4运行时)。

答案 2 :(得分:0)

简单,只需检查控制面板并卸载更高版本并继续安装。