2010-11-17 1 views
10

ho scritto un'applicazione WPF in C# utilizzando VS 2010. L'applicazione in grado di funzionare in modalità di debug utilizzando Visual Studio, ma quando vado a correre il .EXE dalla cartella bin \ release, non succede nulla. Non ricevo alcun messaggio di errore da Windows e non ci sono errori o avvisi in VS. Ho cercato di costruire, ricostruire e pulire la soluzione (in ogni ordine possibile) senza fortuna. La mia soluzione contiene 2 progetti, entrambi i quali utilizzano .NET 4.0 framework, e ho NET 4.0 installato sul mio PC. Ho provato su XP e Win7 e ancora niente.WPF DotNET applicazione verrà eseguita in modalità debug, ma .EXE non verrà eseguito

Ho anche notato che l'output di Debug quando eseguo l'applicazione in modalità di debug dice: "Impossibile trovare o aprire il file PDB" dopo ogni .Dll carica.

Sto compilando la cartella di rilascio ogni volta, ma ho provato a cambiarlo nella cartella di debug e pulire/ricostruire solo per vedere se questo avrebbe fatto la differenza, e non ha funzionato, quindi ho cambiato, provato ancora e ancora niente.

Qualsiasi idea?

+4

Interessante. Hai controllato il registro eventi dell'applicazione per vedere se c'è qualcosa lì? –

+0

L'applicazione è in esecuzione nell'elenco dei processi o è stata avviata/terminata? –

+0

Inoltre, hai ottenuto una compilazione senza errori quando si passa alla modalità di rilascio? Quando premi F5 stai correndo in modalità Debug, verrà compilato in bin \ Debug. Forse una vecchia versione è in bin \ Release che in realtà non fa nulla. Prova a cambiare il menu a tendina in Rilascio, quindi compila con F6. –

risposta

2

presumo si è tentato su un computer che non dispone di Visual Studio installati, e anche nessuno dei componenti che si sta utilizzando per lo sviluppo.

Hai solo un'opzione: avviare l'applicazione con un debugger sulla macchina che causa problemi e controlla le eccezioni lì. (Utilizzare WinDBG per esempio - è leggero e facile).

Questo appare come un problema con dipendenze mancanti, ma potrebbe essere anche qualcosa d'altro.

la messa a punto Labs dovrebbe darvi abbastanza informazioni su come utilizzare WinDbg per trovare il vostro problema:

utilizzare anche questo:

+0

Ho provato a utilizzare un debugger e dopo l'arresto anomalo dell'app, viene visualizzato un messaggio che indica "Nessuna fonte disponibile". – user441603

+0

Ma hai catturato il messaggio di eccezione? –

0

ho intenzione di andare con un ipotesi che:

  • O avete un po 'di corruzione strano nella vostra installazione di .NET Framework
  • C'è un po' di debug/codice di rilascio-specifico utilizzando #if DEBUG o tale che sia sostanzialmente diverso da causare problemi.
  • Non è stato ancora compilato di recente in Release (provare a cambiarlo in Release prima di compilare il codice più recente e assicurarsi di non ottenere errori).

Queste sono le uniche cose che riesco a pensare in cima alla mia testa.

+0

Ho dovuto installare .NET v4.0 sulla macchina XP ho provato a eseguirlo su (che non ha VS su di esso) e ancora non ho ottenuto nulla, e non penso di avere 2 versioni corrotte di .NET Framework. Sto compilando in versione e ottengo 0 errori e 0 avvisi. – user441603

7

Qui ci sono un paio di idee che vengono in mente

  • Se siete su una macchina x64, provare a cambiare l'applicazione dall'essere AnyCPU a x86. Questa è la modalità in cui le applicazioni eseguono il default in modalità di debug ed è possibile che un problema sia in esecuzione in x64 sta causando un problema nei build di release
  • Possibile che i binari di rilascio non siano aggiornati.Eliminare i file binari dalla cartella di rilascio, ricostruire ed eseguire le piste appena generato
  • Eseguire il build di rilascio nel debugger di Visual Studio e vedere se fino crash
+0

Questo non è stato il mio problema (questa volta), ma comunque informazioni molto utili! Grazie! – user441603

1

(JaredPar) risposta guarda a destra (x64), ma se non provare a fare clic destro sul file EXE e in esecuzione in modalità amministratore per vincere 7.

+0

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

+0

Prova anche questo link :) – halfevil

+0

In esecuzione in modalità amministratore ha funzionato per me! – Crispy

2

Ho avuto un problema molto simile.

Partenza questa impostazione la voce App Pool:

  • Vai a Impostazioni avanzate.
  • Cambia "Abilita applicazioni a 32 bit" su "VERO".

Questo ha funzionato per me!

0

Avevo incontrato un problema simile, mi mancava una cartella personalizzata nella modalità di rilascio a cui facevo riferimento nel costruttore. L'aggiunta della cartella al rilascio ha risolto il problema.

5

Ho riscontrato anche il problema precedente, tuttavia nessuna delle altre soluzioni ha funzionato per me.

La mia applicazione registra nel Visualizzatore eventi ID evento 1018 e 1022 elencati. Questo sembrava essere correlato in modo bizzarro a una DLL di ASP.NET 2.0 (bizzarra, poiché era solo un progetto WPF vuoto). I log contenevano messaggi come questo:

Impossibile aprire la DLL dei contatori a 64 bit ASP.NET_64_2.0.50727 in un ambiente a 32 bit

Alla fine si è scoperto essere risolto quando I disabilitato il mio antivirus. Avevo letto che questa risoluzione funzionava per qualcuno con McAfee; e ha funzionato anche per il mio ambiente, che ha Avast.

+1

Grazie, abbiamo aggiunto temporaneamente la nostra applicazione Wpf alle eccezioni Avast sul computer e ha funzionato. Ora dobbiamo scoprire come non essere bloccati da Avast. – Abyte0