หลังจากอัปเดต Visual Studio 2019 เป็น 16.4.0 ฉันไม่สามารถเรียกใช้การทดสอบด้วยกรอบงานเป้าหมาย 2.2


25

ฉันได้อัพเดทVisual studio 2019เป็นเวอร์ชั่น 16.4.0 แล้ว รุ่นนี้รวมถึง.NET Core SDK3.1.100

หลังจากนั้นฉันได้ลองใช้การทดสอบหน่วยบางอย่างที่ฉันมีในโครงการที่มีTarget Framework2.2 แต่มันก็ไม่สามารถทำได้ มันทำให้เกิดข้อผิดพลาดดังต่อไปนี้:

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.

ถ้าฉันไปที่เส้นทางดังกล่าวฉันพบโฟลเดอร์ 3.1.0เท่านั้น หากฉันแสดงรายการ SDKS ที่ติดตั้งฉันจะได้รับสิ่งนี้:

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]

ถ้าฉันขอruntimesติดตั้งฉันได้รับนี้:

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]

ดังนั้นฉันเห็น Microsoft.AspNetCore.App ', รุ่น' 2.2.0 'ติดตั้งใน runtimes ที่ระบุไว้

ในทางตรงกันข้ามถ้าฉัน: 'ทดสอบ dotnet' ในโครงการทดสอบหน่วยจากภายในPackage Manager Consoleการทดสอบกำลังทำงาน

ฉันยังVisual Studio Codeติดตั้งและไม่มีการเปลี่ยนแปลงใด ๆ ฉันยังสามารถดีบักการทดสอบเหล่านั้นได้

ดังนั้นฉันหายไปเล็กน้อยที่นี่และฉันได้ลองเช่นคัดลอกโฟลเดอร์ 2.2.0 จาก C: \ Program Files \ dotnet \ shared \ ด้วยตนเอง แต่หลังจากนั้นฉันได้รับข้อผิดพลาดอื่น ๆ ในขณะที่พยายามทำการทดสอบ

ใครสามารถช่วยฉันหรือชี้ฉันในทิศทางที่ถูกต้อง


1
ฉันมีข้อผิดพลาดคล้ายกันมากที่ฉันสามารถแก้ไขได้โดยลบการอ้างอิงถึง Microsoft.NET.Test.Sdk.dll ในการอ้างอิงแพ็คเกจของโครงการทดสอบ แต่ฉันเชื่อว่าการเปลี่ยนตัวเลือกเพื่อใช้สถาปัตยกรรม 64 บิตสำหรับการทดสอบการทำงาน / การดีบักก็ทำงานได้เช่นกัน
Dylan Nicholson

คำตอบ:


53

หลังจากดูวิธีแก้ปัญหาจาก @coloradoeos ฉันค้นพบวิธีที่แตกต่างในการแก้ปัญหานี้โดยไม่จำเป็นต้องติดตั้งรุ่น x86

เพียงไปที่ทดสอบ> ประมวลผลสถาปัตยกรรมสำหรับโครงการใด ๆ ของ CPU> x64

การทดสอบควรทำงานตามปกติหลังจากเลือก x64

ป้อนคำอธิบายรูปภาพที่นี่


3
ฉันได้ลองวิธีแก้ปัญหาของคุณแล้วและใช้งานได้ดี นอกจากนี้ไม่จำเป็นต้องดาวน์โหลดและติดตั้งอะไรเพิ่มเติมจำเป็นต้องเปลี่ยนCPU เป็น X64เท่านั้น คำถามเดียวที่ฉันยังคงไม่น่าแปลกใจคือสิ่งที่เกิดขึ้นและทำไมมันหยุดทำงานหลังจากVisual Studio ปรับปรุง ฉันเดาว่าการกำหนดค่ามีการเปลี่ยนแปลงโดยไม่ต้องแจ้งให้ทราบล่วงหน้า
Sebastian Inones

เยี่ยมมาก! ขอบคุณ!
Fred

1
ฉันถูกไฟไหม้ไปเรื่อย ๆ จากนั้นหาผลการค้นหาของฉันผ่านผลการค้นหาจนกระทั่งในที่สุดฉันก็กลับมาที่นี่โดยที่ฉันรู้ว่าฉันเคยมาที่นี่มาก่อน ดูเหมือนว่าอาจเป็นข้อผิดพลาด
Jahmic

10

ฉันจะแนะนำคุณไปยังลิงค์นี้

สาเหตุที่ดูเหมือนจะขาดการ x86 .NET หลักเช่น 2.2 SDK "C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App"ภายใต้ไดเรกทอรีดังต่อไปนี้

ฉันมีรุ่น 3.1 เท่านั้นดังนั้นฉันจึงดาวน์โหลด 2.2 SDK รุ่น 2.2 และติดตั้ง เมื่อฉันทำอย่างนั้น testhost ก็ทำการทดสอบหน่วยของฉันจาก Visual Studio (VS) ได้ดี ฉันไม่เคยถอนการติดตั้ง SDK เวอร์ชันเก่าดังนั้นจะต้องมีปัญหากับกระบวนการอัปเดตสำหรับ framework / VS


อย่างที่คุณพูดในกรณีของฉันฉันไม่เคยถอนการติดตั้ง SDK ใด ๆฉันทำเฉพาะการอัปเดต ตามลิงก์ที่คุณอ้างถึง: "Visual Studio runner ดูเหมือนว่าจะใช้ . NET core SDK รุ่น x86ดังนั้นหากคุณถอนการติดตั้ง (เหลือเฉพาะรุ่น x64) คุณจะไม่สามารถทำการทดสอบตามรุ่นหลัก. NET NET นั้นได้อีก ทดสอบ Explorer "
Sebastian Inones
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.