정확한 오류는 다음과 같습니다
파일 또는 어셈블리 ‘Microsoft.SqlServer.Replication, 버전 = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91’또는 해당 종속성 중 하나를로드 할 수 없습니다. 형식이 잘못된 프로그램을로드하려고했습니다.
최근 2 개월 동안 다른 프로젝트로 이동 한 후이 프로젝트를 다시 시작했습니다. 이전에는 완벽하게 작동했으며 모든 참조를 두 번 확인했습니다.
답변
아래 의 답변 은 정답이지만 AppPool에서 32 비트 응용 프로그램을 활성화해야 할 수도 있습니다.
로컬 컴퓨터에서 실행되도록 응용 프로그램을 설정하는 동안 (Vista 64bit 실행)이 오류가 발생했습니다.
파일이나 어셈블리
ChilkatDotNet2
또는 해당 종속성 중 하나를 로드 할 수 없습니다 . 형식이 잘못된 프로그램을로드하려고했습니다.
분명히 응용 프로그램은 ChilKat 구성 요소를 사용 하지만 우리가 사용하는 버전은 32 비트 버전 인 것 같습니다.
이 오류를 해결하기 위해 32 비트 응용 프로그램을 허용하도록 IIS에서 응용 프로그램 풀을 설정했습니다. IIS 관리자를 열고 앱 풀을 마우스 오른쪽 버튼으로 클릭 한 다음 고급 설정을 선택하십시오 (아래 참조).
그런 다음 “32 비트 응용 프로그램 사용”을 True로 설정하십시오.
다 했어요!
답변
해결책을 찾았습니다. 최근에 컴퓨터를 Windows 2008 Server 64 비트로 업그레이드했습니다. SqlServer.Replication 네임 스페이스는 32 비트 플랫폼 용으로 작성되었습니다. 다시 실행하려면 프로젝트 빌드 속성에서 대상 플랫폼을 X86으로 설정하기 만하면됩니다.
답변
웹 프로젝트의 속성 페이지에서 플랫폼 대상 값을로 변경하십시오 Any CPU
.
답변
IIS-> 응용 프로그램 풀-> 고급 설정-> 32 비트 응용 프로그램 사용으로 이동하십시오.
답변
최근 Visual Studio에서 코드를 실행하려고 할 때 문제가 발생했습니다. 이 경우
도구> 옵션> 프로젝트 및 솔루션> 웹 프로젝트를 수행하고 “웹 사이트 및 프로젝트에 IIS Express의 64 비트 버전 사용”을 확인하십시오.
답변
Visual Studio 자체 의 ASP.NET MVC 3 프로젝트 에서이 오류가 발생하는 경우 :
작업중인 ASP.NET MVC 3 앱에서 배포 서버에서 누락 된 문제를 해결하기 위해 프로젝트에 Microsoft.SqlServer.BatchParser에 대한 참조를 추가하려고했습니다. (우리의 앱은 SMO를 사용합니다. 올바른 수정은 배포 서버에 SQL Server Native Client와 다른 몇 가지를 설치하는 것이 었습니다.)
BatchParser에 대한 참조를 제거한 후에도 열려있는 모든 ASP.NET MVC 3 페이지에서 BatchParser DLL을 참조하는 “시도했습니다 …”오류가 계속 발생하여 수십 페이지의 구문 분석이 발생했습니다. 오류.
이런 일이 발생하면 파일 검색을 수행하고 DLL이 여전히 프로젝트의 \ bin 폴더 중 하나에 있는지 확인하십시오. 다시 빌드하더라도 Visual Studio가 모든 \ bin 폴더의 모든 것을 지울 필요는 없습니다. 휴지통에서 DLL을 삭제하고 다시 빌드하면 오류가 사라졌습니다.
답변
IIS Express에 대한 Windows 10의 MVC5 앱 에서이 기능을 사용했습니다. 내 해결책은 다음과 같습니다.
- 도구 =>
- 옵션 =>
- 프로젝트 및 솔루션 =>
- 웹 프로젝트 =>
- 웹 사이트 및 프로젝트에 64 비트 버전의 IIS Express 사용
- 웹 프로젝트 =>
- 프로젝트 및 솔루션 =>
- 옵션 =>