Как решить «% 1 не является приложением Win32»? - PullRequest
8 голосов
/ 09 октября 2008

Окружающая среда:
Windows Server 2003 R2 Enterprise 64-разрядная, SP2
.NET Framework предположительно установлен (2.0 SP2, 3.0 SP2, 3.5 SP1)

Я говорю «предположительно», потому что они перечислены как установленные в разделе «Установка и удаление программ». Я не уверен, что правильно установлено, потому что вкладка «ASP.NET» не добавлена ​​ни на один из сайтов в IIS.

В разделе «Расширения веб-служб IIS» у меня есть «ASP.NET v2.0.50727» (разрешено) и «ASP.NET v2.0.50727 (32-разрядная версия)» (запрещено).

На рассматриваемом сайте разрешено выполнение скрипта.

Проблема:

Я создал очень простой веб-сайт ASP.NET/C#: Default.aspx с меткой id = "Label1" и кодом с: Label1.text = "Hello World";, и я получаю ошибку:

% 1 не является допустимым приложением Win32.

Ответы [ 6 ]

9 голосов
/ 09 октября 2008

Вы пробовали запустить:

aspnet_regiis -i

из командной строки?

5 голосов
/ 20 сентября 2011

Также проверьте ваш пул приложений. В 64-разрядной среде вам может потребоваться установить «Включить 32-разрядные приложения» в дополнительных настройках.

2 голосов
/ 21 февраля 2013

У меня было «% 1 не является допустимым приложением Win32». сообщение об ошибке, потому что моя переменная окружения PATH также была испорчена. Он включает в себя этот мусор из установки Python:

%PYTHON_HOME%;
%PYTHON_HOME%\Scripts;
1 голос
/ 09 апреля 2013

У меня была эта проблема. Я развернул .EXE на Windows 2003, которая не поддерживает .NET 4.5. Я перестроил программу с помощью .NET 4, и она заработала.

1 голос
/ 06 октября 2009

У меня было «% 1 не является допустимым приложением Win32». сообщение об ошибке, потому что моя переменная окружения PATH испорчена. Ну, точнее, сама PATH не имеет ничего плохого в этом. Вместо этого я случайно создал файл с именем «C: \ Program», который использовался вместо «C: \ Program Files \» для поиска пути. Случайное создание «C: \ Program» было результатом вызова Notepad ++ в командной строке для C: \ Program Files \ test.txt (без кавычек), поэтому Notepad ++ решил, что я пытался отредактировать файл с именем «C: \ Program "и создал файл для меня.

1 голос
/ 09 октября 2008

У меня была похожая ошибка с IIS7 на 64-битной Windows Server 2008.

Журнал Fusion здесь не поможет, и оказалось, что в моем случае была сторонняя сборка, которая ссылалась на 32-битную сборку или нативную dll. (Xceed, чтобы быть точным)

Чтобы определить, какая сборка загружается в 64-битной среде выполнения:

  • Подключите отладчик VS2008 к w3wp.exe процессу, который соответствует вашему пулу приложений
  • Перехватывать все исключения (Меню Отладка / Исключения / проверить все " Общеязыковые исключения во время выполнения ").
  • Убедитесь, что ваше приложение полностью перезагружено (например, изменив web.config).
  • Когда возникает исключение System.BadImageFormatException , найдите имя сборки в окне средства просмотра трассировки стека.

Помните, что все сборки, размещенные в каталоге bin, загружаются независимо от их фактического значения в приложении.

...