Fragensteller
Ein Ausnahmefehler des Typs "System.InvalidOperationException" ist in Tetris.exe aufgetreten.

Allgemeine Diskussion
-
Hallol Leute,
bei dem Import eines älteren Spieles hatte ich bisher nur Ärger. Erstma' musste ich das Framework auf 3.0 umstellen. Alles klar!Dann meldete mir der Compiler, das im Bin/Debug Ordner die erforderliche *.exe-Datei nicht vorhanden Sei, verknüpft mit der Aufforderung, einen Verweis auf die Assembly VisualC zu erstellen. Gesagt, getan. Jetzt jedoch bricht die ganze chose mit der obigen Fehlermeldung:"System.InvalidOperationException" ab. in der Fehlerliste taucht allerdings nix mehr auf. Lediglich die Abrruchmeldung als Warnung. Nix desto trotz läuft nix. Was also tun, um das Spiel zum Laufen zu bringen. Offensichtlich handelt es sich um irgendeine fehlerhafte Konfigurationseinstellung.....
Weiß irgendjemand Rat?
Zusätzliche Informationen: Fehler beim Erstellen des Formulars. Weitere Informationen finden Sie in Exception.InnerException. Fehler: ist keine zulässige Win32-Anwendung. (Ausnahme von HRESULT: 0x800700C1).
- Bearbeitet tklustig Mittwoch, 20. Juli 2016 19:15
- Typ geändert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 29. Juli 2016 09:01
Alle Antworten
-
Hallo,
geht es um ein von dir geschriebenes Programm? Wenn nicht, dann kontaktiere bitte den Hersteller.
Wenn es dein eigenes Programm ist, dann arbeite bitte folgende Punkte ab/beantworte die Fragen:
- Unter welchem Windows mit welcher VS Version unter welcher .NET Version wurde das Spiel entwickelt? Welche Programmiersprache setzt du ein?
- Ich wüsste nicht durch was der Compiler sich über eine fehlende EXE Datei im Ausgabeordner beschwert. Wenn dann meldet der Debugger das Fehlen wenn er versucht die Datei zu starten, sie aber nicht vorhanden ist. Das geschieht wenn überhaupt nur bei kompilierungsfehlern.
- Was genau ist "VisualC"? Meinst du die VC++ Redistributable oder...? Letztere sind IMHO nur wichtig wenn du C++ nutzt.
- Die InvalidOperationException ist eine Laufzeitfehlermeldung. Wird sie innerhalb von VS oder innerhalb deines Programms ausgelöst? Bei letzterem kannst du die Anwendung einfach debuggen und der Debugger hält dann je nach Einstellung an der Fehlerverursachenden Zeile an.
- Die zusätzlichen Fehlerinfos verwirren mich in diesem Kontext nur. Was genau hast du gemacht um dort ran zu kommen?
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Du beantwortest meine Frage mit Fragen, das hilft nicht wirklich weiter:=(
Benutze VB.NET. Und was VisualC genau ist, weis ich nicht. Hatte letztlich nur die Info vom Debugger, dass es eine Assembly sein soll, auf die ich sodann verwiesen habe.[Projekte-Verweise hinzufügen-VisualCV8.0-FERTIG]
Eine VisualC++-Runtime kann es folglich nicht sein!
Nach dem Verweis war dann kein Fehler nach dem Kompilieren mehr vorhanden, aber ein Abbruch mit besagter IOE. Die zusätzlichen Fehlerinfos konnte ich durch einen Hyperlink der Laufzeitfehlermeldung eruieren.........
Ein einfaches Debuggen, wie von dir beschrieben, hilft nicht, da es, wie bereits erwähnt, NICHT um einen Fehler im Sourcecode handelt......
Was mich v.a. wundert ist, dass es keine zulässige WIN32-Anwendung sein soll.
Es handelt sich in etwa um eine Migration einer VisualBasic6-Applikation
- Bearbeitet tklustig Donnerstag, 21. Juli 2016 07:59
-
Hallo,
bei VisualC dürfte es sich um die Microsoft.VisualC Assembly handeln. Die ist aber nur für Code, der mit dem C++ / CLI Compiler übersetzt wird und mittlerweile sind die Attribute und Typen darin veraltet - und schon gar nicht vom VB.NET Compiler verwendet.
Entferne die Assembly aus den Visual Basic Referenzen, bereinige und übersetze das Projekt, und schau dann mal nach, welche Code Abschnitte auf Fehler laufen - vermutlich handelt es sich um übertragenen Abschnitte und die Attribute geben für VB.NET keinen Sinn.
Gruß Elmar
- Bearbeitet Elmar BoyeEditor Donnerstag, 21. Juli 2016 09:20
-
Wenn ich den Verweis auf die Assembly entferne, meckert der Debugger, er habe die *.exe (Tetris.exe)Datei nicht gefunden, obgleich Sie im Verzeichnis bin/Debug explizit vorhanden ist. So oder so bringt mich das auch nicht weiter, da ich, wie gesagt, erst gar nicht zum debuggen komme.......
P.S.: Es handelt sich um DirextX-Komponenten. Deshalb vielleicht wird die Assembly benötigt?
-
Hallo tklenin,
ich habe jetzt leider keine Lösung für das Problem parat, ich würde aber vielleicht mal so vorgehen:
Ein neues Form zum Projekt hinzufügen. Dieses als Startform festsetzen. Falls das dann fehlerfrei kompiliert und gestartet werden kann, sukkzessive die Initialisierungsmethoden aus dem altem Startform "rüberkopieren", kompilieren, testen, und so weiter. Manchmal kann man einen Fehler so eingrenzen...
Die genannte Fehlermeldung findet sich in unterschiedlichsten Zusammenhängen. Deshalb kann es auch Sinn machen, erst mal jede Menge Fragen zu stellen, um deine Umgebung kennenzulernen. Damit kann man dann Fehler manchmal eingrenzen.
Gruß