C#: Meine Tests in Visual Studio lassen sich nicht mehr ausführen?

Die ganze Zeit lief in meiner Projektmappe von .NET Framework-Bibliotheken alles problemlos, ich konnte meine Testmethoden problemlos schreiben und ausführen (ist meine erste Erfahrung mit MSTest). Dann habe ich in einer meiner Bibliotheken einen AssertHelper geschrieben, indem ich Assert.IsInstanceOf aufrufe. Weil diese Bibliothek Assert nicht kannte, habe ich der Empfehlung Visual Studios naiv folgend MSTest.TestFramework von NuGet installiert.

Jetzt ließen sich die Tests für dieses Projekt allerdings nicht mehr ausführen, ich bekam recht dubiose Fehler ("[MSTest][Discovery] Fehler beim Ermitteln von Tests aus der Assembly. Ursache:Die Datei oder Assembly "System.Runtime" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden."). In einem GitHub-Issue habe ich herausgefunden, dass ich die Packages deinstallieren und auf eine lokale DLL verweisen solle, was ich dann auch gemacht habe.

Problem nun: Beim Kompilieren meines Testprojektes findet VS nun keine Definition mehr für Assert.ThrowsException - alle anderen Tests mit den normalen Methoden AreEqual, IsInstanceOfType etc. kennt er aber! Dieses Bild bestätigt sich auch, wenn ich mit F12 die Metadaten für die Assert-Klasse anzeigen lasse. Auf MS Docs steht für all diese Methoden aber die gleiche benötigte MSTest-Version, weswegen ich mir dieses Phänomen nicht erklären kann. In besagter Metadatenansicht zeigt VS nur an, Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll läge in der Version 10.0.0.0 vor.

Ich weiß nicht weiter - wie kann ich einfach nur meine Tests wieder ausführen, wie ich es vorher getan habe? Davon, die Projektmappe aus allen einzelnen Sourcefiles manuell erneut zusammenzustellen, würde ich gerne absehen, weil sie immerhin schon aus sechs einzelnen Projekten besteht (die teils auch in anderen Projektmappen Anwendung finden).

Über eure Hilfe wäre ich dementsprechend hocherfreut!

Computer, Test, Microsoft, Technik, IT, programmieren, IDE, Programmierung, C Sharp, CSharp, Informatik, Technologie, Visual Studio, vs, .net-Framework, NET, Spiele und Gaming
1 Antwort
Literatur für junge Leute finden (Action, Jugend, Pubertät)?

Hallo, ich bin Student, männlich, 18 Jahre alt, und suche geeignete Lektüre für mich. Ich leihe mir häufig viele Bücher in der Bibliothek aus (solche zu kaufen finde ich unsinnig, da zumindest für mich die allermeisten spätestens nach dem dritten Lesen erschöpft sind). Ich lese praktisch ausschließlich Bücher der Kategorie realistische Action, also rasantes Erzähltempo, intelligente Spannungsfäden u. dgl. m. (Keine Fantasy! Keine Erzählungen von/aus grauer Vorzeit! Keine reinen Beziehungsromane!)

In den letzten Jahren habe ich mir Mühe gegeben, auf Erwachsenenliteratur umzusteigen, um mich nicht selbst abzuhängen (und auch, weil es mir langsam auch peinlich wird, ewig in der Jugendabteilung umherzustöbern). Ich tue mich allerdings immer noch schwer, für mich geeignete Literatur zu finden: Zum einen, weil selbst von den unter "Spannung" einsortierten Bücher viele für meinen Geschmack zu langatmig sind.

Zum anderen, weil ich zwar selbstverständlich intellektuell nicht stehenbleiben will, aber deshalb auch nicht jugendliche Perspektiven und Charaktere missen will. Es deprimiert mich, wenn in den meisten Büchern, die ich momentan zu lesen bekomme, die Protagonisten Vierzig-, Fünfzig- oder gar Siebzigjährige sind, die sich neben einer interessanten Hauptstory privat mit Routine statt Aufbruch, mit Abbau statt Aufbau auseinandersetzen, und entsprechend den Haltungen jüngerer Jahrgänge gar nicht oder höchstens ganz am Rande Rechnung getragen wird. Ich möchte gerne Bücher über Charaktere lesen, mit denen ich mich eher identifizieren kann, also jungen Leuten, circa achtzehn bis Mitte/Ende zwanzig.

Aus der Jugendabteilung meiner Bibliothek waren Autoren wie Chris Bradford und Robert Muchamore meine Favoriten.

Tja, bloß wo kann ich in der Erwachsenenabteilung für junge Leute wie mich geeignete Literatur finden? Über euren Rat sowie eure Autoren- und Literaturempfehlungen würde ich mich sehr freuen.

Buch, deutsch, lesen, Sex, Autor, Bibliothek, Buchhandlung, Lektüre, Literatur
3 Antworten
C#: Sollte ich für Rückgabetypen eine Klasse oder eine Struktur einführen?

Da mein Programm ohnehin schon in größerem Ausmaß rekursiv arbeitet, will ich die Performance an dieser Stelle nicht völlig vernachlässigen.

Vor dem Refactoring hatte ich eine "Monstersignatur" der folgenden Art:

internal abstract IEnumerable<(Processor.MainThing copy, SecondaryThing attachment)> GenerateDescendents(Processor.DescendentProvider descendentProvider, Processor.GeneratorContext generatorContext);

Jetzt wollte ich die zumindest etwas übersichtlicher machen, indem ich eine Hilfsklasse eingeführt habe:

internal class Processor.DescendentProvider.DescendentProduct {
    public MainThing Copy { get; }
    public SecondaryThing Attachment { get; }
}

Allerdings bin ich mir nicht sicher, ob für diesen Zweck eine Struktur (struct) vielleicht eher angemessen wäre als eine Klasse. Da nur zwei Referenzen gehalten werden, liegt die Größe wohl bei unter 16 Bytes?

Ich besitze leider keine Vorstellung davon, ob jetzt ein größerer Overload dadurch entsteht, diese Klasse zu alloziieren, referenzieren und dealloziieren oder eher dadurch, eine Struktur auf dem Callstack hin- und herzukopieren.

Über euren Rat würde ich mich daher freuen!

(Anmerkung: Die Namen der Typen und Variablen habe ich unter Berücksichtigung des Invidivual Property bewusst abstrakt gehalten. Mir ist natürlich klar, dass Bezeichner in der Praxis konkretere Namen erhalten sollten.)

programmieren, Programmierung, CSharp, Informatik, Klasse, OP, Struktur, stack, Objektorientiert, objektorientiertes-programmieren, Objektorientierung, Objektorientierte Programmierung, NET
3 Antworten