Errore durante l'utilizzo del servizio Web dall'app Winform - "Impossibile eseguire un programma..."

StackOverflow https://stackoverflow.com/questions/62268

  •  09-06-2019
  •  | 
  •  

Domanda

Ho un'app Winform che chiama un servizio Web per verificare la presenza di aggiornamenti.Funziona in dev e funziona anche ovunque l'ho provato, ma non sulla copia installata sul mio computer (che sembra essere la stessa in dev).

L'errore è:

Impossibile eseguire un programma.Il comando in esecuzione era "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe" /noconfig /fullpaths @"C:\Documents and Settings\Giovanni.DOUBLE-AFSSZ043\Local Settings emp\squ8oock .cmdline".

Il firewall è disabilitato e ho cercato "C:\Documents and Settings\Giovanni.DOUBLE-AFSSZ043\Local Settings emp\squ8oock.cmdline" e non c'è.Si noti che ogni volta che provo a utilizzare il servizio Web il file ".cmdline" è diverso, ad esempio la seconda volta che l'ho eseguito era "Dae8rgen.cmdline". Non importa quale nome ha, non riesco mai a trovare il file.

Eventuali suggerimenti?

È stato utile?

Soluzione

Il file ".cmdline" è un file generato automaticamente prodotto dal framework .NET.L'applicazione sta tentando di compilare in tempo reale un serializzatore XML utilizzato per analizzare i dati dal servizio web.

Hai verificato che puoi eseguire "csc.exe" da una finestra della riga di comando?Anche solo digitando "C: Windows Microsoft.net Framework v2.0.50727 csc.exe /?" Dovresti procurarti un elenco di opzioni del compilatore (o dovresti darti un errore se non si dispone di autorizzazioni per eseguirlo).

Con quale account utente lo stai eseguendo e dispone delle autorizzazioni per eseguire file .exe nella directory di Windows?Allo stesso modo, so che hai detto che ciò accade con la copia installata sul tuo computer, ma è possibile che sia in esecuzione da una condivisione di rete e riceva autorizzazioni limitate di sicurezza dall'accesso di codice che gli impedirebbero di eseguire eseguibili locali?

Per riferimento, ecco un articolo della Knowledge Base che mostra un errore simile che può verificarsi in ASP.NET quando l'account utente non dispone di autorizzazioni sufficienti.http://support.microsoft.com/kb/315904

Altri suggerimenti

Ho avuto lo stesso problema e ho scoperto che avevo esaurito la memoria.

Dopo aver controllato "ANTS Memory Profiler" di RedHat ho scoperto che avevo una grande quantità di memoria nella COM+ delle radici GC.Un veloce google e mi sono ritrovato qui: msdn XmlSerializers

Poi leggo quanto segue:

Se si utilizza uno degli altri costruttori, vengono generate e non scaricate più versioni dello stesso gruppo, il che si traduce in una perdita di memoria e scarse prestazioni.La soluzione più semplice è utilizzare uno dei due costruttori precedentemente citati.Altrimenti, è necessario memorizzare nella cache gli assiemi in un hashtable ...

Dopo aver creato una tabella hash per i serializzatori, il mio problema di perdita di memoria (e scarse prestazioni) e il conseguente messaggio di errore come il tuo, sono scomparsi.

Ho risolto lo stesso problema con un ISSReset

Se AppLocker viene applicato, consentilo di seguito (aggiungi come eccezione di percorso)

c:\windows\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CSC.EXE c:\windows\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CVTRES.EXE

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top