Visual Studio 2019'u 16.4.0'a güncelledikten sonra hedef çerçeve 2.2 ile sınama yapamıyorum


25

Visual studio 201916.4.0 sürümüne güncelledim . Bu sürüm .NET Core SDK3.1.100 içerir .

Bundan sonra, Target Framework2.2 ile bir projede sahip olduğum bazı Birim Testlerini yapmaya çalıştım, ancak bunu yapamıyorum. Aşağıdaki hatayı verir:

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.

Yukarıda belirtilen yola gidersem sadece 3.1.0 klasörü buldum . Yüklü SDKS'yi listelersem bunu elde ederim:

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]

Yüklü çalışma zamanları için sorarsanız ben bunu elde:

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]

Bu nedenle, listelenen çalışma zamanlarında Microsoft.AspNetCore.App ', sürüm' 2.2.0 'yüklü olduğunu görüyorum.

Öte yandan, eğer yaparsam: Cihazın içinden Unit Test projesinde 'dotnet test' Package Manager Consoleçalıştırılıyor.

Ayrıca Visual Studio Codeyükledim ve herhangi bir değişiklik yapmadan, bu Testlerde Hata Ayıklama bile yapabilirim.

Yani, burada biraz kayboldum ve örneğin 2.2.0 Klasörünü C: \ Program Files \ dotnet \ shared \ 'dan manuel olarak kopyalamaya çalıştım, ancak bundan sonra testleri çalıştırmaya çalışırken başka hatalar aldım.

Biri bana yardım edebilir veya doğru yöne yönlendirebilir mi?


1
Test projelerinin paket başvuruları Microsoft.NET.Test.Sdk.dll başvurusunu kaldırarak çözmeyi başardı çok benzer bir hata vardı. Ancak, 64 bit mimariyi test / hata ayıklama için kullanma seçeneğini değiştirmenin de işe yaradığını düşünüyorum.
Dylan Nicholson

Yanıtlar:


53

@Coloradoeos çözümüne baktıktan sonra bir x86 sürümü yüklemeye gerek kalmadan bunu çözmek için farklı bir yol keşfettim.

Herhangi bir CPU projesi için Test> İşlem mimarisi> x64 bölümüne gidin.

X64 seçildikten sonra testler normal şekilde yapılmalıdır.

resim açıklamasını buraya girin


3
Çözümünüzü denedim ve iyi çalışıyor. Ayrıca, ekstra bir şey indirip yüklemeye gerek yoktur, sadece CPU'yu X64 olarak değiştirmek gerekir . Hala merak ettiğim tek soru ne oldu ve Visual Studio Update'ten sonra neden çalışmayı bıraktığı . Sanırım yapılandırma önceden haber verilmeden değiştirildi.
Sebastian Inones

Büyük bulmak! Teşekkür ederim!
Fred

1
Bu yüzden yanmaya devam ediyorum, daha sonra buraya gelene kadar arama sonuçlarında arama yaptığım wau'yu buluyorum, daha önce burada olduğumu fark ettim. Bu bir hata olabilir gibi görünüyor.
Jahmic

10

Sizi bu bağlantıya yönlendireceğim .

Kök neden, aşağıdaki dizin altında x86 .NET Core 2.2 SDK örneğinin olmadığı ortaya çıktı "C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App".

Yalnızca 3.1 sürümü vardı, bu yüzden özellikle 2.2 SDK'nın x86 sürümünü indirdim ve yükledim. Bunu yaptıktan sonra testhost, Visual Studio'dan (VS) birim testlerimi çalıştırdı. SDK'nın eski sürümünü asla kaldırmadım, bu yüzden bu çerçeve / VS için güncelleme işlemi ile ilgili bir sorun olmalı.


Söylediğiniz gibi, benim durumumda hiçbir SDK'yı hiç kaldırmadım , sadece güncellemeyi yaptım. Belirttiğiniz bağlantıda belirtildiği gibi: "Visual Studio sınama koşucusu .NET çekirdek SDK'sının x86 sürümünü kullanıyor gibi görünüyor ; Test Gezgini. "
Sebastian Inones
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.