Laden...

Nach VS2019 Neuinstallation: Unit Test wird nicht ausgeführt

Erstellt von schuppsl vor 3 Jahren Letzter Beitrag vor 3 Jahren 2.113 Views
S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 3 Jahren
Nach VS2019 Neuinstallation: Unit Test wird nicht ausgeführt

Guten Tag zusammen,

nach einer PC-und Visual Studio 2019 Neuinstallation lassen sich meine Unittests nicht mehr ausführen.
Zwar kann ich im Test Explorer den Test anklicken und debuggen.
Aber dieser startet dann einfach nicht und es kommt keinerlei Fehlermeldung, außer das hellblaue Ausrufezeichen: Nicht ausgeführt.

MsTest.Testadapter und MSTest.TestFramework sind installiert.

Google konnte leider nicht weiterhelfen.

Die Projektorder sind diesselben, es muss also irgendwie an Visual Studio liegen?

16.806 Beiträge seit 2008
vor 3 Jahren

Lösch mal den .vs Ordner, da liegt u.a. der Cache für Unit Tests für Visual Studio drin.
Typisch ist auch, dass eine Extention das VS Verhalten beeinflusst; zB typisch, dass ReSharper was überschreibt (bei mir gehen zB einige Live Unit-Tests nicht, sobald ReSharper Testing aktiv ist).

Ansonsten mal per Kommandozeile den Test anstoßen, um zu schauen, was der Test wirklich an Output ausspuckt; meist mehr Infos als dann Visual Studio anzeigt.

S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 3 Jahren

Vielen Dank,

die Konsole spuckt folgendes aus:> Fehlermeldung:

Insgesamt 1 Testdateien stimmten mit dem angegebenen Muster überein.
Microsoft.VisualStudio.TestPlatform.ObjectModel.SettingsException: Fehler beim Laden der Laufzeiteinstellungen. Fehler: Die Datei oder Assembly "Microsoft.VisualStudio.TestPlatform.Common.resources, Version=15.0.0.0, Culture=de-DE, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. ---> System.IO.FileNotFoundException: Die Datei oder Assembly "Microsoft.VisualStudio.TestPlatform.Common.resources, Version=15.0.0.0, Culture=de-DE, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden. ---> System.IO.FileNotFoundException: Die Datei oder Assembly "Microsoft.VisualStudio.TestPlatform.Common.resources, Version=15.0.0.0, Culture=de-DE, PublicKeyToken=b03f5f7f11d50a3a" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.
bei System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
bei System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
bei System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
bei System.Reflection.Assembly.Load(AssemblyName assemblyRef)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.CurrentDomainAssemblyResolve(Object sender, AssemblyResolveEventArgs args)
bei Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformAssemblyResolver.AssemblyResolverEvent(Object sender, Object eventArgs)
bei System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
bei System.Reflection.RuntimeAssembly.InternalGetSatelliteAssembly(String name, CultureInfo culture, Version version, Boolean throwOnFileNotFound, StackCrawlMark& stackMark)
bei System.Resources.ManifestBasedResourceGroveler.GetSatelliteAssembly(CultureInfo lookForCulture, StackCrawlMark& stackMark)
bei System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark) bei System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark) bei System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) bei System.Resources.ResourceManager.GetString(String name, CultureInfo culture) bei Microsoft.VisualStudio.TestPlatform.Common.Resources.Resources.get_FailedToLoadAdapaterFile() bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginDiscoverer.GetTestExtensionsFromFiles[TPluginInfo,TExtension](String[] files, Dictionary2 pluginInfos)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginDiscoverer.GetTestExtensionsInformation[TPluginInfo,TExtension](IEnumerable1 extensionPaths) bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.GetTestExtensions[TPluginInfo,TExtension](IEnumerable1 extensionPaths)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.DiscoverTestExtensions[TPluginInfo,TExtension](String endsWithPattern)
bei Microsoft.VisualStudio.TestPlatform.Common.SettingsProvider.SettingsProviderExtensionManager.Create()
bei Microsoft.VisualStudio.TestPlatform.Common.RunSettings.ReadRunSettings(XmlReader reader)
--- Ende der internen Ausnahmestapelüberwachung ---
bei Microsoft.VisualStudio.TestPlatform.Common.RunSettings.ReadRunSettings(XmlReader reader)
bei Microsoft.VisualStudio.TestPlatform.Common.RunSettings.InitializeSettingsProviders(String settings)
bei Microsoft.VisualStudio.TestPlatform.Common.Utilities.RunSettingsUtilities.CreateAndInitializeRunSettings(String settingsXml)
bei Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.BaseRunTests.SetContext()
bei Microsoft.VisualStudio.TestPlatform.CrossPlatEngine.Execution.ExecutionManager.StartTestRun(Dictionary`2 adapterSourceMap, String package, String runSettings, TestExecutionContext testExecutionContext, ITestCaseEventsHandler testCaseEventsHandler, ITestRunEventsHandler runEventsHandler)

Testlauf abgebrochen.

Microsoft.VisualStudio.TestPlatform.Common.resources, Version=15.0.0.0 wird also nicht gefunden.
Die finde ich aber bei Nuget auch nicht...

16.806 Beiträge seit 2008
vor 3 Jahren

Die Fehlermeldung sagt, dass eine Assembly nicht gefunden werden kann. Du kannst aber nicht davon ausgehen, dass jede Assembly 1:1 als NuGet Paket existiert; so funktioniert NuGet ja gar nicht.

Wenn das der Output ist der Konsole ist, dann liegt es zumindest nicht an Visual Studio, sondern an Deinem Projekt.
Die Frage ist nun: ist was am Projekt falsch oder hast Du die falsche Umgebung (zB SDK) für das Projekt.

Sicher, dass Du das Paket Microsoft.NET.Test.Sdk im Projekt hast?
Ohne das kannst Du niemals irgendwann MSBuild Tests verwendet haben; auch nicht mit Visual Studio vor der Neuinstallation.

S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 3 Jahren

Jetzt geht es.
Ich habe den vorhandenen Test gelöscht und durch VS neu erstellen lassen.
Auf eine Funktion => Komponententest erstellen.
Da hat VS wohl dann die richtigen DLL's verlinkt.

Die Microsoft.NET.Test.Sdk ist nicht im Projekt vorhanden.

Herzlichen Dank Abt!

16.806 Beiträge seit 2008
vor 3 Jahren

Auf eine Funktion => Komponententest erstellen.

Es ist eine Methode, keine Funktion.

Da hat VS wohl dann die richtigen DLL's verlinkt.

Arbeitest Du mit einem .NET Core / .NET Standard Projekt?
Dann wirst wahrscheinlich ein Resolve-Warning erhalten, weil .NET Framework Assemblies verwiesen werden, richtig?

S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 3 Jahren

Es ist ein .NET Framework 4.7.2 Projekt.