【发布时间】:2019-12-17 06:55:40
【问题描述】:
使用最新版本的 Visual Studio,我无法在测试资源管理器中运行任何测试。 Tests 输出窗口中的错误信息是:
Testhost process exited with error: It was not possible to find any compatible framework version
The framework 'Microsoft.AspNetCore.App', version '2.2.0' was not found.
- The following frameworks were found:
3.1.0 at [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
You can resolve the problem by installing the specified framework and/or SDK.
The specified framework can be found at:
- https://aka.ms/dotnet-core-applaunch?framework=Microsoft.AspNetCore.App&framework_version=2.2.0&arch=x86&rid=win10-x86
. Please check the diagnostic logs for more information.
[17/12/2019 5:46:13.908 PM] ========== Run aborted: 0 tests run (0:00:00.2418036) ==========
所以建议我需要安装 .net core 2.2 但它找不到它。只能找到3.1。
让我们确认一下......
C:\Users\justi>dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 3.1.100
Commit: cd82f021f4
Runtime Environment:
OS Name: Windows
OS Version: 10.0.18362
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\3.1.100\
Host (useful for support):
Version: 3.1.0
Commit: 65f04fb6db
.NET Core SDKs installed:
2.1.604 [C:\Program Files\dotnet\sdk]
2.1.700 [C:\Program Files\dotnet\sdk]
2.1.701 [C:\Program Files\dotnet\sdk]
2.1.801 [C:\Program Files\dotnet\sdk]
2.1.802 [C:\Program Files\dotnet\sdk]
2.2.100 [C:\Program Files\dotnet\sdk]
2.2.200 [C:\Program Files\dotnet\sdk]
2.2.201 [C:\Program Files\dotnet\sdk]
2.2.202 [C:\Program Files\dotnet\sdk]
2.2.204 [C:\Program Files\dotnet\sdk]
2.2.206 [C:\Program Files\dotnet\sdk]
2.2.300 [C:\Program Files\dotnet\sdk]
2.2.301 [C:\Program Files\dotnet\sdk]
2.2.401 [C:\Program Files\dotnet\sdk]
2.2.402 [C:\Program Files\dotnet\sdk]
3.1.100 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
<snip snip>
Microsoft.AspNetCore.All 2.1.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
<snip snip>
Microsoft.AspNetCore.App 2.1.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
<snip snip>
Microsoft.AspNetCore.App 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
<snip snip>
Microsoft.NETCore.App 2.1.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
<snip snip>
Microsoft.NETCore.App 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.1.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download
所以它感觉就像我安装了 2.2.0,因为它列在安装的许多版本的列表中。
编辑
注意这一点(强调我的):
- 找到了以下框架: 3.1.0 在 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
看起来它已将 3.1.0 安装到 ..x86 中,而其余的 sdk 安装在 Program Files(x64 位版本)下。
为什么会这样说?
编辑 2:
- xUnit
- xUnit VS runner nuget 也已“安装”。
- Visual Studio 16.4.1
【问题讨论】:
-
我通过关闭并重新打开所有 VS 窗口解决了类似的问题。我有许多开放的解决方案,但不知道导致此问题的缓存内容。也许这有帮助
-
有时 Visual Studio 中的测试问题可以通过更改为 x64 架构来解决。你能试试吗?测试->TestSettings->默认处理器架构
-
如果您使用的是哪种测试?有很多框架。而如果不是MsTests,比如XUnit,就应该安装TestRunners。
-
@TemaTre 是的 - 你 sorta 明白了。它设置为 x86,当我将其切换到 x64 时……它起作用了。但为什么呢?
-
我已经尝试打开另一个完全不同的解决方案 .. 它默认为 x86 但它正在工作并找到 x64 sdk,因为测试全部运行(勾选 x86)并且这也被记录到TESTS 输出窗口:
xUnit.net VSTest Adapter v2.4.1 (64-bit .NET Core 4.6.28207.03)...所以它就像是基于某些东西“自动检测”?
标签: c# visual-studio asp.net-core testing