Wie löse ich "%1 ist keine zulässige Win32-Anwendung"?
Umgebung:
Windows Server 2003 R2 Enterprise 64bit, SP2
.NET framework ist angeblich installiert (2.0 SP2, 3.0 SP2, 3.5 SP1)
Ich sage "angeblich", weil Sie als installiert aufgelistet werden, unter Programme Hinzufügen/Entfernen. Ich bin nicht sicher, es ist richtig installiert, da die "ASP.NET" tab nicht mehr auf alle Websites in IIS.
In der IIS-Web-Service-Erweiterungen Abschnitt, ich habe beide "ASP.NET v2.0.50727" (Erlaubt) und "ASP.NET v2.0.50727 (32-bit)" (Verboten).
Die betreffende Website ein Skript ausführen aktiviert.
Problem:
Erstellte ich eine super-einfache ASP.NET/C# website: Default.aspx mit einem label id="Label1", und eine code-behind-mit: Label1.text = "Hello World";
und die Fehler, die ich bekommen hab ist:
%1 ist keine gültige Win32-Anwendung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, läuft:
aus der command line?
Überprüfen Sie auch Ihre Anwendung pool. In einer 64-bit-Umgebung müssen Sie möglicherweise die Einstellung "Enable 32-bit applications" in Erweiterte Einstellungen.
Ich hatte "%1 ist keine gültige Win32-Anwendung." Fehlermeldung, weil meine PATH-Umgebungsvariable Durcheinander gebracht wurde, als gut. Es umfasste dieser Müll von einem python installieren:
Ich hatte einen ähnlichen Fehler mit IIS7 auf Windows Server 2008 64-Bit.
Die fusion log keine Hilfe hier, und es stellte sich heraus, dass in meinem Fall gab es einen Dritten assembly verweisen auf eine 32-Bit-nur die Montage oder die native dll. (Xceed um genau zu sein)
Finden die assembly geladen wird, die durch die 64 bit runtime :
Denken Sie daran, dass alle Baugruppen platziert in das bin-Verzeichnis geladen werden, unabhängig von Ihrer tatsächlichen Einbeziehung in die Anwendung.
Ich hatte "%1 ist keine gültige Win32-Anwendung." Fehlermeldung, weil meine PATH-Umgebungsvariable Durcheinander gebracht wurde. Nun, genauer gesagt, der WEG selbst hatte, nichts falsch mit ihm. Stattdessen hatte ich versehentlich erstellt eine Datei namens "C:\Program" das war verwendet statt "C:\Program Dateien\" path-lookup.
Die zufällige Erstellung von "C:\Program" war die Folge eines Aufrufs von Notepad++ auf der Kommandozeile C:\Program Files\test.txt (ohne Anführungszeichen), also Notepad++ dachte, ich war versucht zu Bearbeiten, eine Datei namens "C:\Program" und erstellt die Datei für mich.
Hatte ich dieses problem. Ich bereitgestellt ein .EXE auf einen Windows 2003 nicht unterstützt .NET 4.5. Ich baute das Programm mit .NET 4 und es funktionierte.