【问题标题】:.NET Framework 4.0 does not install when 4.5 is already installed已安装 4.5 时不安装 .NET Framework 4.0
【发布时间】:2013-01-12 07:27:06
【问题描述】:

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

当我尝试安装 4.0 版时,我收到错误消息(翻译自荷兰语,所以英文版可能有点不同):

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

我该如何解决这个问题?

【问题讨论】:

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


【解决方案1】:

简单,查看控制面板,卸载高版本继续安装即可。

【讨论】:

  • 那么其他使用 Framework 4.5 的应用程序呢?
【解决方案2】:

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

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

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

.NET 4.0 Framework 应与 4.5 并排列出。

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

【讨论】:

  • 但是,我无法选择 2.0、3.0、3.5 和 4.5。 4.0 版不在列表中,当我尝试安装其他框架并选择像 4.0 一样的任何想法时,安装程​​序显示我无法安装它,因为我拥有的版本 (4.5) 更高。
  • 您说的是哪个“安装其他框架”选项? .NET 4.5 .NET 4.0 有一些额外的,它们不能像你想象的那样并排安装。这与 2.0 和 3.0 相同。 3.0 也会安装 2.0,没有办法。见:hanselman.com/blog/…
  • 安装其他框架在项目页面中可见,选项卡应用程序,目标框架:.NET Framework 2.0、.NET Framework 3.0、.NET Framework 3.5、.NET Framework 4.5,安装其他框架。选择后者时,我被重定向到msdn.microsoft.com/en-US/hh487283.aspx
  • 应该也显示 4.0。看我的截图。您使用的是什么项目类型?
  • 我重新安装了 2010 版,现在 4.0 再次添加到列表中(也在 2012 年)。
【解决方案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 运行时不再存在)。

【讨论】:

  • 谢谢;但是主要问题是无法再选择 .NET Framework 4。而且 Windows XP 不运行带有 .NET Framework 4.5 的应用程序。
  • @MichelKeijzers 你用的是什么版本的VS2012?另一件事就是用记事本打开csproj文件并将<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>更改为<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  • 我正在使用 VS Ultimate 2012,版本 11.0.5
  • 我遇到了这个问题,我正在运行 VS2015
  • 我遇到了一个问题,卸载 VS2013 使我的 VS2015 处于无法定位 4.0 框架的状态。在尝试安装 4.0 时,它说已经安装了更高版本。对我来说,解决方案是对 VS2015 进行“修复”(即去添加/删除程序,单击 vs2015 并选择修复选项)。这重新安装了针对 4.0 框架所需的一切。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-28
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 2013-04-01
  • 2013-02-26
相关资源
最近更新 更多