답변:
아래 의 답변 은 정답이지만 AppPool에서 32 비트 응용 프로그램을 활성화해야 할 수도 있습니다.
로컬 컴퓨터에서 실행되도록 응용 프로그램을 설정하는 동안 (Vista 64bit 실행)이 오류가 발생했습니다.
파일이나 어셈블리
ChilkatDotNet2
또는 해당 종속성 중 하나를 로드 할 수 없습니다 . 형식이 잘못된 프로그램을로드하려고했습니다.
분명히 응용 프로그램은 ChilKat 구성 요소를 사용 하지만 우리가 사용하는 버전은 32 비트 버전 인 것 같습니다.
이 오류를 해결하기 위해 32 비트 응용 프로그램을 허용하도록 IIS에서 응용 프로그램 풀을 설정했습니다. IIS 관리자를 열고 앱 풀을 마우스 오른쪽 버튼으로 클릭 한 다음 고급 설정을 선택하십시오 (아래 참조).
그런 다음 "32 비트 응용 프로그램 사용"을 True로 설정하십시오.
다 했어요!
해결책을 찾았습니다. 최근에 컴퓨터를 Windows 2008 Server 64 비트로 업그레이드했습니다. SqlServer.Replication 네임 스페이스는 32 비트 플랫폼 용으로 작성되었습니다. 다시 실행하려면 프로젝트 빌드 속성에서 대상 플랫폼을 X86으로 설정하기 만하면됩니다.
웹 프로젝트의 속성 페이지에서 플랫폼 대상 값을로 변경하십시오 Any CPU
.
최근 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을 삭제하고 다시 빌드하면 오류가 사라졌습니다.