Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Nach VS2019 Neuinstallation: Unit Test wird nicht ausgeführt
schuppsl
myCSharp.de - Member



Dabei seit:
Beiträge: 784

Themenstarter:

Nach VS2019 Neuinstallation: Unit Test wird nicht ausgeführt

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
schuppsl
myCSharp.de - Member



Dabei seit:
Beiträge: 784

Themenstarter:

beantworten | zitieren | melden

Vielen Dank,

die Konsole spuckt folgendes aus:
Fehler
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, Dictionary`2 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, Dictionary`2 pluginInfos)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginDiscoverer.GetTestExtensionsInformation[TPluginInfo,TExtension](IEnumerable`1 extensionPaths)
bei Microsoft.VisualStudio.TestPlatform.Common.ExtensionFramework.TestPluginCache.GetTestExtensions[TPluginInfo,TExtension](IEnumerable`1 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...
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
schuppsl
myCSharp.de - Member



Dabei seit:
Beiträge: 784

Themenstarter:

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Zitat von schuppsl
Auf eine Funktion => Komponententest erstellen.
Es ist eine Methode, keine Funktion.
Zitat von schuppsl
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?
private Nachricht | Beiträge des Benutzers
schuppsl
myCSharp.de - Member



Dabei seit:
Beiträge: 784

Themenstarter:

beantworten | zitieren | melden

Es ist ein .NET Framework 4.7.2 Projekt.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von schuppsl am .
private Nachricht | Beiträge des Benutzers