我将 Visual Studio 2012 用于需要(至少).NET Framework 4.0的WPF项目。我已经安装了 4.5,但是使用 Windows XP 的人无法安装该应用程序(因为 4.5 不能在 Windows XP 上运行)。我使用ClickOnce作为部署应用程序。
当我尝试安装 4.0 版时,出现错误(从荷兰语翻译,所以英文版可能有点不同):
此计算机上已安装相同或更高版本的 .NET Framework 4
我怎样才能解决这个问题?
.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。
.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 上运行它不会显示一些问题。
很简单,只需检查控制面板并卸载更高版本并继续安装即可。