“%1이 유효한 Win32 응용 프로그램이 아님”을 어떻게 해결합니까?
-
06-07-2019 - |
문제
환경:
Windows Server 2003 R2 Enterprise 64Bit, SP2
.NET 프레임 워크가 설치되어있을 것입니다 (2.0 SP2, 3.0 SP2, 3.5 SP1)
나는 Add/Remog 프로그램에 설치된 것으로 표시되기 때문에 "아마도"라고 말합니다. 나는 그것이 확실하지 않다 제대로 "asp.net"탭이 IIS의 어느 사이트에도 추가되지 않기 때문에 설치되었습니다.
IIS 웹 서비스 확장 섹션에는 "ASP.NET v2.0.50727"(허용) 및 "ASP.NET v2.0.50727 (32 비트)"(금지)이 모두 있습니다.
문제의 사이트에는 스크립트-execute가 활성화되어 있습니다.
문제:
나는 label id = "label1"과 함께 Super-simple asp.net/c# 웹 사이트 : default.aspx를 만들었고 다음과 같은 코드-베어드를 만들었습니다. Label1.text = "Hello World";
그리고 내가 얻는 오류는 다음과 같습니다.
%1은 유효한 Win32 응용 프로그램이 아닙니다.
해결책
실행을 시도 했습니까?
aspnet_regiis -i
명령 줄에서?
다른 팁
또한 신청서를 확인하십시오. 64 비트 환경에서는 고급 설정에서 "32 비트 응용 프로그램 활성화"를 설정해야 할 수도 있습니다.
"%1은 유효한 Win32 응용 프로그램이 아닙니다." 내 경로 환경 변수도 엉망이되었으므로 오류 메시지. 파이썬 설치 에서이 쓰레기가 포함되어 있습니다.
%PYTHON_HOME%;
%PYTHON_HOME%\Scripts;
Windows Server 2008 64 비트의 IIS7과 비슷한 오류가 발생했습니다.
퓨전 로그는 여기서 어떤 도움이되지 않았으며, 제 경우에는 32 비트 조립 또는 기본 DLL을 참조하는 제 3 자 어셈블리가 있음이 밝혀졌습니다. (정확한 x 초기)
64 비트 런타임으로로드되는 어셈블리를 찾으려면 :
- vs2008 디버거를 켜십시오 w3wp.exe 응용 프로그램 풀과 일치하는 프로세스
- 모든 예외를 가로 채기 (메뉴 디버그 / 예외 / 모든 점검 "공통 언어 런타임 예외").
- 예를 들어 web.config를 수정하여 응용 프로그램이 완전히 다시로드되어 있는지 확인하십시오.
- 때 System.BadimageFormateXception 예외가 제기되고 스택 추적 뷰어 창에서 어셈블리 이름을 찾으십시오.
빈 디렉토리에 배치 된 모든 어셈블리는 응용 프로그램의 실제 영향에 관계없이로드됩니다.
"%1은 유효한 Win32 응용 프로그램이 아닙니다." 내 경로 환경 변수가 엉망이되었으므로 오류 메시지. 더 구체적으로, 경로 자체는 그것에 아무런 문제가 없었습니다. 대신, 나는 경로 조회를 위해 "c : program files "대신 사용 된 "c : program"이라는 파일을 실수로 만들었습니다. "C : Program"의 우발적 인 생성은 C : Program Files Test.txt (견적 표시없이)의 명령 줄에서 메모장 ++를 호출 한 결과이므로 Notepad ++는 "C :라는 파일을 편집하려고한다고 생각했습니다. program "그리고 나를 위해 파일을 만들었습니다.
나는이 문제가 있었다. .NET 4.5를 지원하지 않는 Windows 2003에 .exe를 배치했습니다. .NET 4로 프로그램을 재건했는데 효과가있었습니다.