2010-11-17 3 views
10

Ich schrieb eine WPF-Anwendung in C# mit VS 2010. Die Anwendung wird im Debugmodus mit Visual Studio ausgeführt, aber wenn ich die .EXE ausführen Aus dem Ordner bin \ release passiert nichts. Ich bekomme keine Fehlermeldungen von Windows und es gibt keine Fehler oder Warnungen in VS. Ich habe versucht, die Lösung (in jeder möglichen Reihenfolge) ohne Glück zu bauen, wieder aufzubauen und zu reinigen. Meine Lösung enthält 2 Projekte, die beide .NET 4.0 Framework verwenden, und ich habe .NET 4.0 auf meinem PC installiert. Ich habe sowohl XP als auch Win7 ausprobiert und noch nichts.WPF DotNET-Anwendung wird im Debugmodus ausgeführt, aber .EXE wird nicht ausgeführt

Ich habe auch gerade festgestellt, dass die Ausgabe von Debug, wenn ich die Anwendung im Debug-Modus ausführen sagt: "Kann die PDB-Datei nicht finden oder öffnen" nach jedem .Dll es lädt.

Ich kompiliere in den Ordner Release jedes Mal, aber ich habe versucht, es in den Debug-Ordner zu ändern und zu reinigen/neu zu erstellen, nur um zu sehen, ob das einen Unterschied machen würde, und es nicht, also änderte ich es zurück, versuchte es wieder und immer noch nichts.

Irgendwelche Ideen?

+4

Interessant. Haben Sie das Anwendungsereignisprotokoll überprüft, um festzustellen, ob dort etwas vorhanden ist? –

+0

Wird die Anwendung in Ihrer Prozessliste ausgeführt oder ist sie gestartet/beendet? –

+0

Haben Sie auch eine Kompilierung ohne Fehler erhalten, wenn Sie in den Freigabemodus wechseln? Wenn Sie F5 drücken, laufen Sie im Debug-Modus, es wird in bin \ Debug kompiliert. Vielleicht ist eine alte Version in bin \ Release, die eigentlich nichts tut. Versuchen Sie, das Drop-down-Menü in Release zu ändern und dann mit F6 zu kompilieren. –

Antwort

2

Ich nehme an, Sie haben versucht, auf einer Maschine, die Visual Studio nicht installiert hat, und auch keine der Komponenten, die Sie für die Entwicklung verwenden.

Sie haben nur eine Option: Starten Sie die Anwendung mit einem Debugger auf der Maschine, die Probleme verursacht, und prüfen Sie dort auf Ausnahmen. (Verwenden Sie zum Beispiel WinDBG - es ist leicht und einfach).

Dies sieht aus wie ein Problem mit fehlenden Abhängigkeiten, könnte aber auch etwas anderes sein.

Das Debuggen Labs sollten Sie genügend Informationen geben, wie windbg zu verwenden, um Ihr Problem zu finden:

diese auch verwenden:

+0

Ich habe versucht, einen Debugger zu verwenden, und nachdem die App abstürzt, gibt es nur eine Nachricht mit der Meldung "No Source Available". – user441603

+0

Aber haben Sie die Ausnahmebedingung erfasst? –

0

Ich werde mit einem wilden Vermutung gehen, dass:

  • Entweder Sie einige ungerade Korruption in Ihrem .NET Framework-Installation haben
  • Es gibt einige Debug/Release-spezifischen Code #if DEBUG oder so verwenden, das ist wesentlich anders, um Probleme zu verursachen.
  • Sie haben noch nicht kürzlich in Release kompiliert (versuchen Sie, es vor dem Kompilieren Ihres neuesten Codes in Release zu ändern und stellen Sie sicher, dass Sie keine Fehler bekommen).

Das sind die einzigen Dinge, die ich aus der Spitze meines Kopfes denken kann.

+0

Ich musste .NET v4.0 auf dem XP-Rechner installieren, auf dem ich versuchte, es auszuführen (ohne VS) und trotzdem nichts bekam, und ich glaube nicht, dass ich zwei korrupte Versionen von .NET Framework habe. Ich kompiliere in Release und bekomme 0 Fehler und 0 Warnungen. – user441603

7

Hier ein paar Ideen, die

  • Wenn Sie auf einem x64-Maschine in den Sinn kommen, sind, versuchen, aus der Anwendung zu ändern AnyCPU auf x86 zu sein. Dies ist der Modus, den Anwendungen standardmäßig im Debug-Modus verwenden, und ein Problem, das in x64 ausgeführt wird, verursacht ein Problem in Release-Builds.
  • Möglicherweise sind die Release-Binärdateien nicht mehr aktuell.Löschen Sie die Binärdateien aus dem Release-Ordner, wieder aufzubauen und die neu generierten Läufe
  • Führen Sie den Release-Build unter dem Debugger in Visual Studio und sehen, ob es bis Abstürze
+0

Dies war nicht mein Problem (dieses Mal), aber immer noch sehr nützliche Informationen! Vielen Dank! – user441603

1

(JaredPar) Antwort gut aussieht (x64) laufen, aber wenn nicht versuchen Sie, mit der rechten Maustaste auf die EXE und läuft im Admin-Modus für Win 7.

+0

http://msdn.microsoft.com/en-us/library/b8ttk8zy.aspx – halfevil

+0

Probieren Sie diesen Link auch :) – halfevil

+0

Im Admin-Modus läuft für mich gearbeitet! – Crispy

2

Ich hatte ein sehr ähnliches Problem.

Schauen Sie sich diese Einstellung auf dem App-Pool-Eintrag:

  • Zum Erweiterte Einstellungen.
  • Ändern Sie "32-Bit-Anwendungen aktivieren" auf "TRUE".

Das funktionierte für mich!

0

Ich war in ein ähnliches Problem geraten, mir fehlte ein benutzerdefinierter Ordner im Freigabemodus, den ich im Konstruktor referenzierte. Durch Hinzufügen des Ordners zur Version wurde das Problem behoben.

5

Ich erlebte das oben genannte Problem auch, aber keine der anderen Lösungen funktionierte für mich.

Meine Anwendung meldet Event Event IDs 1018 und 1022 in der Ereignisanzeige. Dies schien bizarr mit einer ASP.NET 2.0-DLL verwandt (bizarr; da dies nur ein leeres WPF-Projekt war). Die Protokolle enthalten Meldungen wie diese:

Windows die 64-Bit nicht öffnen kann erweiterbar Zähler DLL ASP.NET_64_2.0.50727 in einer 32-Bit-Umgebung

Am Ende stellte sich heraus gelöst werden wenn ich deaktiviert mein Anti-Virus. Ich hatte gelesen, dass diese Lösung für jemanden mit McAfee funktioniert hat; und es hat auch für meine Umgebung funktioniert, die Avast hat.

+1

Danke, wir haben unsere WPF-Anwendung temporär zu Avast-Ausnahmen auf dem Computer hinzugefügt und es hat funktioniert. Jetzt müssen wir herausfinden, wie Avast nicht blockiert werden kann. – Abyte0