Domanda

Ambiente:
Windows Server 2003 R2 Enterprise 64 bit, SP2
Si presume che .NET framework sia installato (2.0 SP2, 3.0 SP2, 3.5 SP1)

Dico " presumibilmente " perché sono elencati come installati in Aggiungi / Rimuovi programmi. Non sono sicuro che sia correttamente installato, poiché il "quot.ASP.NET" scheda non viene aggiunta a nessuno dei siti in IIS.

Nella sezione Estensioni del servizio Web IIS, ho sia " ASP.NET v2.0.50727 " (Consentito) e " ASP.NET v2.0.50727 (32 bit) " (Proibiti).

Nel sito in questione è abilitato l'esecuzione di script.

Problema:

Ho creato un sito Web ASP.NET/C# semplicissimo: Default.aspx con un'etichetta id = " Etichetta1 " ;, e un codice indietro con: Label1.text = " Hello World " ;; e l'errore che visualizzo è:

  

% 1 non è un'applicazione Win32 valida.

È stato utile?

Soluzione

Hai provato a correre:

aspnet_regiis -i

dalla riga di comando?

Altri suggerimenti

Controlla anche il tuo pool di applicazioni. In un ambiente a 64 bit, potrebbe essere necessario impostare " Abilita applicazioni a 32 bit " in Impostazioni avanzate.

Avevo "% 1 non è un'applicazione Win32 valida. " messaggio di errore perché anche la mia variabile d'ambiente PATH era incasinata. Includeva questa spazzatura da un'installazione di Python:

%PYTHON_HOME%;
%PYTHON_HOME%\Scripts;

Ho avuto un errore simile con IIS7 sui bit di Windows Server 2008 64

Il registro di fusione non è di alcun aiuto qui, e si è scoperto che nel mio caso c'era un assembly di terze parti che faceva riferimento a un assembly a 32 bit solo o a una DLL nativa. (Continua per essere precisi)

Per trovare quale assembly viene caricato dal runtime a 64 bit:

  • Collega il debugger VS2008 al processo w3wp.exe che corrisponde al tuo pool di applicazioni
  • Intercetta tutte le eccezioni (Menu Debug / Eccezioni / controlla tutto " Eccezioni Common Language Runtime ").
  • Assicurati che la tua applicazione sia ricaricata completamente (modificando web.config, per esempio).
  • Quando viene sollevata l'eccezione System.BadImageFormatException , cercare un nome di assembly nella finestra del visualizzatore di traccia stack.

Ricorda che tutti gli assembly posizionati nella directory bin vengono caricati, indipendentemente dalla loro effettiva implicazione nell'applicazione.

Avevo "% 1 non è un'applicazione Win32 valida. " messaggio di errore perché la mia variabile d'ambiente PATH era incasinata. Bene, più specificamente, il PERCORSO stesso non aveva nulla di sbagliato in esso. Invece, avevo accidentalmente creato un file chiamato " C: \ Program " che è stato utilizzato al posto di " C: \ Programmi \ " per la ricerca del percorso. La creazione accidentale di " C: \ Program " è stato il risultato della chiamata di Notepad ++ nella riga di comando per C: \ Programmi \ test.txt (senza virgolette), quindi Notepad ++ pensava che stessi cercando di modificare un file chiamato " C: \ Program " e creato il file per me.

Ho avuto questo problema. Ho distribuito un .EXE su Windows 2003 che non supporta .NET 4.5. Ho ricostruito il programma con .NET 4 e ha funzionato.

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