Question

Environnement:
Windows Server 2003 R2 Entreprise 64 bits, SP2
Le framework .NET est censé être installé (2.0 SP2, 3.0 SP2, 3.5 SP1)

Je dis "soi-disant" car ils sont répertoriés comme installés sous Ajout / Suppression de programmes. Je ne suis pas sûr que soit correctement installé, car le fichier "ASP.NET" l'onglet n'est ajouté à aucun des sites d'IIS.

Dans la section Extensions du service Web IIS, j'ai les deux "ASP.NET v2.0.50727". (Autorisé) et "ASP.NET v2.0.50727 (32 bits)" (Interdit).

Le site en question a script-execute activé.

Problème:

J'ai créé un site Web extrêmement simple: ASP.NET/C#: Default.aspx avec un libellé id = "Label1", et un code-behind avec: Label1.text = "Hello World" / code> et l'erreur que je reçois est:

  

% 1 n'est pas une application Win32 valide.

Était-ce utile?

La solution

Avez-vous essayé de courir:

aspnet_regiis -i

à partir de la ligne de commande?

Autres conseils

Vérifiez également votre pool d'applications. Dans un environnement 64 bits, vous devrez peut-être définir l'option "Activer les applications 32 bits". dans les paramètres avancés.

J'avais "% 1 n'est pas une application Win32 valide". message d'erreur parce que ma variable d'environnement PATH a également été gâchée. Il incluait ces ordures provenant d’une installation python:

%PYTHON_HOME%;
%PYTHON_HOME%\Scripts;

J'ai rencontré une erreur similaire avec IIS7 sur Windows Server 2008 64 bits.

Le journal de fusion n’a aucune aide ici, et il s’est avéré que dans mon cas, une assemblée tierce faisait référence à une assemblée de 32 bits seulement ou à une dll native. (Xceed pour être précis)

Pour savoir quel assemblage est chargé par le moteur d'exécution 64 bits:

  • Attachez le débogueur VS2008 au processus w3wp.exe correspondant à votre pool d'applications
  • Intercepter toutes les exceptions (Menu Débogage / Exceptions / Vérifier toutes les " Exceptions du langage d'exécution commun ").
  • Assurez-vous que votre application est complètement rechargée (en modifiant le fichier Web.config, par exemple).
  • Lorsque l'exception System.BadImageFormatException est déclenchée, recherchez un nom d'assembly dans la fenêtre du visualiseur de trace de pile.

N'oubliez pas que tous les assemblys placés dans le répertoire bin sont chargés, quelle que soit leur implication réelle dans l'application.

J'avais "% 1 n'est pas une application Win32 valide". message d'erreur parce que ma variable d'environnement PATH a été gâchée. Eh bien, plus précisément, le PATH lui-même n’avait rien de mal à cela. Au lieu de cela, j'avais accidentellement créé un fichier nommé "C: \ Program". qui a été utilisé à la place de " C: \ Program Files \ " pour la recherche de chemin. La création accidentelle de " C: \ Program " est le résultat de l'appel de Notepad ++ sur la ligne de commande pour C: \ Program Files \ test.txt (sans guillemets). Notepad ++ a donc pensé que j'essayais de modifier un fichier appelé "C: \ Program". et créé le fichier pour moi.

J'ai eu ce problème. J'ai déployé un fichier .exe sur un ordinateur Windows 2003 qui ne prend pas en charge .NET 4.5. J'ai reconstruit le programme avec .NET 4 et cela a fonctionné.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top