Sau khi cập nhật Visual Studio 2019 lên 16.4.0, tôi không thể chạy thử nghiệm với khung đích 2.2


25

Tôi đã cập nhật Visual studio 2019lên phiên bản 16.4.0. Phiên bản này bao gồm .NET Core SDK3.1.100.

Sau đó, tôi đã thử chạy một số Bài kiểm tra đơn vị mà tôi có trong một dự án với Target Framework2.2 nhưng không thể thực hiện được. Nó đưa ra lỗi sau:

Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: 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.

Nếu tôi đi đến đường dẫn đã nói ở trên, tôi chỉ tìm thấy một thư mục 3.1.0 . Nếu tôi liệt kê các SDKS đã cài đặt, tôi nhận được điều này:

dotnet --list-sdks 
2.1.602 [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.202 [C:\Program Files\dotnet\sdk]
2.2.207 [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]

Nếu tôi yêu cầu thời gian chạy đã cài đặt, tôi nhận được điều này:

dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.13 [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.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.13 [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.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
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.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.13 [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.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
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]

Vì vậy, tôi thấy Microsoft.AspNetCore.App ', phiên bản' 2.2.0 'được cài đặt trên thời gian chạy được liệt kê.

Mặt khác, nếu tôi thực hiện: 'thử nghiệm dotnet' trong dự án Kiểm tra đơn vị từ trong Package Manager Consolecác thử nghiệm đang được chạy.

Tôi cũng đã Visual Studio Codecài đặt và không có bất kỳ thay đổi nào, tôi thậm chí có thể Gỡ lỗi các Thử nghiệm đó.

Vì vậy, tôi bị mất một chút ở đây và tôi đã cố gắng sao chép thủ công Thư mục 2.2.0 từ C: \ Program Files \ dotnet \ shared \ nhưng sau đó, tôi đã gặp các lỗi khác trong khi thử chạy thử nghiệm.

Bất cứ ai có thể giúp tôi hoặc chỉ cho tôi đi đúng hướng.


1
Tôi đã có một lỗi rất giống mà tôi có thể giải quyết bằng cách xóa tham chiếu đến Microsoft.NET.Test.Sdk.dll trong các tham chiếu gói của các dự án Thử nghiệm. Nhưng tôi tin rằng việc thay đổi tùy chọn sử dụng kiến ​​trúc 64 bit để chạy / gỡ lỗi cũng hoạt động.
Dylan Nicholson

Câu trả lời:


53

Sau khi xem giải pháp từ @coloradoeos, tôi phát hiện ra một cách khác để giải quyết vấn đề này mà không cần phải cài đặt phiên bản x86.

Chỉ cần đi tới Kiểm tra> Kiến trúc quy trình cho bất kỳ dự ánCPU> x64

Các thử nghiệm sẽ chạy bình thường sau khi chọn x64.

nhập mô tả hình ảnh ở đây


3
Tôi đã thử giải pháp của bạn và nó hoạt động tốt. Ngoài ra, không cần tải xuống và cài đặt thêm bất cứ thứ gì, chỉ cần thay đổi CPU thành X64 . Câu hỏi duy nhất tôi vẫn tự hỏi là điều gì đã xảy ra và tại sao nó ngừng hoạt động sau Visual Studio Update . Tôi đoán rằng cấu hình đã được thay đổi mà không cần thông báo trước.
Sebastian Inones

Tuyệt vời tìm thấy! Cảm ơn bạn!
Fred

1
Tôi tiếp tục bị đốt cháy bởi điều này, sau đó tìm thấy wau của tôi đào qua các kết quả tìm kiếm cho đến khi cuối cùng tôi quay lại đây, nhận ra tôi đã ở đây trước đó. Điều này có vẻ như nó có thể là một lỗi.
Jahmic

10

Tôi sẽ giới thiệu bạn đến liên kết này .

Nguyên nhân gốc có vẻ là do thiếu phiên bản SDK x86 .NET Core 2.2 trong thư mục sau "C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App".

Tôi chỉ có phiên bản 3.1, vì vậy tôi đặc biệt tải xuống phiên bản x86 của SDK 2.2 và cài đặt nó. Khi tôi đã làm điều đó, testhost đã chạy thử nghiệm đơn vị của tôi từ Visual Studio (VS). Tôi chưa bao giờ gỡ cài đặt phiên bản cũ của SDK, vì vậy đây phải là vấn đề với quá trình cập nhật cho khung / VS.


Như bạn đã nói, trong trường hợp của tôi, tôi chưa bao giờ gỡ cài đặt bất kỳ SDK nào , tôi chỉ thực hiện cập nhật. Như liên kết mà bạn đã đề cập: "Trình chạy thử Visual Studio dường như sử dụng phiên bản x86 của .NET core SDK, vì vậy nếu bạn gỡ cài đặt nó (chỉ để lại phiên bản x64), bạn không thể chạy thử nghiệm dựa trên phiên bản .NET core đó với Nhà thám hiểm thử nghiệm. "
Sebastian Inones
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.