1

我试图用框架 4.5 运行 NUnit(我的机器上安装了 VS2010 和 VS2012)。

所以我通过编辑 nunit 的 .exe.config 文件尝试了旧方法

我将框架版本记为 4.5.50709。但是,这在运行时失败了;说指定版本不可用,提示下载安装。

快速互联网检查状态注册表是查看 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP 的地方

没有 4.5 fwk 文件夹。奇怪 - 所以我修复了框架 4.5 的安装。还是一样。最后我深入研究了我找到的 4.0 密钥

InstallPath = %WINDOWS%\Microsoft.Net\Framework64\v4.0.30319
TargetVersion = 4.0.0
Version = 4.5.50709

嗯,看起来 4.5 已经覆盖了 4.0。所以我修改了 .exe.config

<supportedRuntime version="v4.0.30319" />

这行得通。Nunit 现在报告它正在 v4.5 上运行

  • 为什么4.5会这样安装?
  • 似乎是“重定向”-这是因为 4.5 是就地更新吗?如果是,为什么不指定 4.5.50709 不起作用?
4

1 回答 1

4

就像 .NET 3.0 和 3.5 一样,.NET 4.5 是一个就地更新。换句话说,它取代了原来的 4.0 安装。CLR 版本号仍然是 4.0,所有基础程序集也是如此。

所以你必须在 app.exe.config 文件中选择 4.0。您可以通过使用该属性使其更具体并在不存在 4.5 时拒绝运行测试sku,但这没什么意义,无论如何测试都应该失败。

于 2013-01-15T17:12:46.363 回答