5 Stimmen

Anwendungsabsturz ohne installiertes Visual Studio

Der Code ist zu groß, um ihn hierher zu schicken, und ich weiß nicht, welche Teile wichtig sind. Ich habe es auf jedem PC versucht, den ich habe, und es funktioniert auf keinem von ihnen. VS2010 kompiliert Code ohne Warnung oder Fehler und läuft Anwendung gut, funktioniert auch gut, wenn ich die Anwendung einfach aus dem OS starten. Wenn ich es auf anderen PC setzen nicht funktioniert (ich habe Framework 4.0 überall, andere meine Anwendungen funktioniert gut).

Auf meinem Laptop (Win XP) heißt es: "Das Programm ist auf ein Problem gestoßen und muss geschlossen werden...". Die Standard-Windows-Fehlermeldung "Senden/Nicht senden" sagt nichts über das Problem aus.

Auf meinem PC (Win XP) wurde dasselbe gesagt wie auf dem Laptop, dann habe ich Visual Studio dort installiert und es funktionierte einwandfrei. Wenn ich VS10 deinstallieren stürzte es wieder mit Massage wie "unhandled Ausnahme Just-in-Time Debugger nicht gefunden...", wieder nichts spezifisches über Problem.

Mein Freund hat seinen Laptop mitgebracht (Win 7) und es wurde keine Nachricht angezeigt, aber auch keine App. Es hat nichts getan, keine Nachricht, keine Anwendung, nicht einmal ein Prozess gestartet. Wenn ich auf das Symbol geklickt warten Cursor erschien für 2 Sekunden und das ist alles.

Jedes Mal dasselbe, es wird nicht einmal ein Formular angezeigt, es stürzt sofort ab. Der einzige PC, auf dem die App tatsächlich funktioniert, ist der PC (Win 7), auf dem ich sie erstellt habe, natürlich mit installiertem Visual Studio 2010. Ich glaube, dass andere PCs vermissen einige Dateien oder .dll und anderen Müll, die mit VS2010 installiert ist. Irgendwelche Ideen, wonach ich suchen sollte? Ich kann VS nicht überall installieren, es ist sehr umfangreich und es ist, als würde man sagen "Sie brauchen Adobe Premiere, um das Video anzusehen".

EDIT: Ereignisse in Windows:

Application: Floorball.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException
Stack:
   at Floorball.Interface.InitializeComponent()
   at Floorball.Interface..ctor()
   at Floorball.Program.Main()

[LÖSUNG] Nun, nicht ganz gelöst, aber ich konnte die GUI-Komponente in InitializeCoponent() finden, die den Absturz verursacht. Es ist das dumme LineShape! Ich verstehe nicht wirklich, warum es nicht überall richtig funktioniert! Wenn also jemand ein ähnliches Problem hat, sollte er diese Lösung ausprobieren!

4voto

corvuscorax Punkte 5700

Es klingt, als ob Sie versuchen, einen Debug-Build auf Rechnern ohne Debug-Dlls auszuführen. Versuchen Sie, eine Release-Version zu kompilieren und sehen Sie, ob das hilft.

Nachtrag:

Eine andere Sache, die es sein könnte (aber es ist wirklich nur eine Vermutung ohne Details) sind 64/32-Bit-Unterschiede. Wenn das Programm, das Sie versuchen, auszuführen, tut P/Invoke, kann dies ein Problem sein. Wenn Ihr Projekt auf "Any CPU" eingestellt ist, wird es als 64-Bit-Programm auf einem 64-Bit-Betriebssystem und als 32-Bit-Programm auf einem 32-Bit-Betriebssystem laufen. Versuchen Sie, speziell auf x86 zu zielen und sehen Sie, ob sich dadurch etwas ändert.

3voto

Coffee on Mars Punkte 978

Die ersten drei Dinge, die mir in den Sinn kommen:

  • Es fehlen einige .NET-Bibliotheken. Wenn es für .NET 4 kompiliert wurde, benötigt es möglicherweise das vollständige Framework und findet nur die kleinere "Client"-Version. Prüfen Sie die Weiterverteilbarkeit.
  • Fehlende C++-Bibliotheken: Wenn es sich um ein C++-Programm handelt, müssen Sie den C++-Redist zusätzlich zum .NET-Redist installieren.
  • Debug / Release: Wenn Sie in der Debug-Konfiguration kompilieren, sucht das Programm nach den Debug-.NET- (und C++-) Bibliotheken, die nicht von den weiterverteilbaren Paketen installiert werden. Das Kompilieren mit der Release-Konfiguration behebt dieses Problem.

0voto

Ren Hoek Punkte 315

Versuchen Sie, mit dem .net4 Client Profil zu kompilieren

0voto

Filburt Punkte 16839

Zusätzlich zu den Antworten, die Sie vorschlagen, um sicherzustellen, dass Sie einen Release Build machen, überprüfen Sie Ihre Projekteinstellungen: Auf der Seite Debuggen Registerkarte, Abschnitt "Debugger", um die Option zu deaktivieren "Visual Studio-Hosting-Prozess aktivieren" in beiden, Ihr Debug und Ihr Release Konfiguration.

0voto

Martin Punkte 817

Ich habe den ganzen Morgen mit diesem Problem gekämpft und habe es jetzt gelöst und weiß, warum es passiert ist. Posting mit der Hoffnung, es hilft anderen

Ich installierte das Krypton.Toolkit, das die Werkzeuge automatisch zur Visual Studio Toolbox hinzufügte. Dann fügte ich die Tools zum Designer hinzu, der die DLL automatisch zu den Projektreferenzen hinzufügte, allerdings war das Toolkit als CopyLocal=false markiert

Ich habe ein Installationsprogramm erstellt und dabei alle Dlls aus dem Release-Build-Ordner verwendet (die oben genannte Dll war natürlich nicht dabei).

Nach der Einstellung copylocal=true und der anschließenden Neuinstallation funktionierte alles einwandfrei.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X