2017-11-10 3 views
-1

그래, 내가 읽은 적은 있지만 공정한 몇 가지 솔루션을 시도했지만 여전히이 문제를 해결하지 못했습니다.잘못된 Win32 응용 프로그램

32 비트 시스템에서 테스트 할 때 (필자는 1 장에서만 테스트했습니다) 잘못된 32 응용 프로그램으로 시작시 즉시 충돌하고 다른 오류 메시지 나 안내 정보가 없습니다.

응용 프로그램은 C# .NET 4.5.2입니다. 비주얼 스튜디오 2017에 내장되어 있습니다. 저는 빌드 구성에서 X86으로 설정했고 응용 프로그램은 제 64 비트 개발 컴퓨터에서 실행됩니다.

테스트 목적으로 32 비트 Windows 7 가상 시스템을 만들고 솔루션을 빌드하고 출력 빈 폴더의 모든 내용을이 가상 32 비트 Windows 7 시스템에 복사했습니다. 예상대로 잘 실행됩니다. 그러나, 그 정확한 폴더를 물리적 인 32 비트 기계에 복사하면, 잘못된 32 비트 응용 프로그램을 말하는 것이 충돌합니다.

내 애플리케이션이 32 비트에서 실행되고 있음을 확인하기 위해 IntPtr.Size가 4인지 확인하기 위해 조건을 지정하기도합니다.

그래서 리소스가 64 비트로 구축되었다고 생각하게되었지만 32 비트 가상 환경에서 실행되는 이유는 무엇일까? O.o

테스트 할 다른 물리적 32 비트 컴퓨터를 찾으려고합니다.

내가 어떻게 문제를 해결하거나 오류에 대한 자세한 정보를 얻을 수 있는지에 대한 안내는 훌륭합니다.

실제 컴퓨터에는 도트 넷 4.5.2가 설치되어 있고 99.99 % vcredist_x86도 설치되어 있습니다.

+0

x64 용 외부 어셈블리 또는 dll을 참조 했습니까? – Steve

+0

필자는 32 비트 또는 적어도 그렇게해야한다는 것을 알고 있기 때문에 상당히 적은 수의 외부 어셈블리를 참조했습니다. 이 빌드는 32 비트 가상 환경 (VM웨어)에서 작동하지만,이게 아니라고 생각하게합니다. – Sjc311

+0

해제 된 주제 게시물로 표시하는 사람들에게는 중지하십시오. 이것은 정확하게 컴파일러가 32 비트 머신이나 손상에서 문제를 일으키는 64 비트 이미지를 가져 오는 것으로 확인되었습니다 –

답변

0

왜 내 질문에 부정적인 점이 있는지 잘 모르겠지만 ... 이제 해결되었습니다.

문제는 팀 뷰어가 파일을 전송하는 동안 파일을 손상 시켰습니다. 나는 압축 파일을 전송하려고 시도하고 우편 번호가 이상하게 작고 열리지 않았다는 것을 알아 차렸다. 그래서 나는 사무실에 들어가서 USB와 BAM을 교환했습니다. 일. 성가신 또는 무엇.

관련 문제