SQL Server 복제 프로젝트에서 "잘못된 형식의 프로그램을 로드하려고 했습니다." 오류가 발생합니다.

StackOverflow https://stackoverflow.com/questions/41449

  •  09-06-2019
  •  | 
  •  

문제

정확한 오류는 다음과 같습니다

파일 또는 어셈블리 'Microsoft.sqlServer.replication, 버전 = 9.0.242.0, Culture = Neutral, PublicKeyToken = 89845DCD8080CC91'또는 그 종속성 중 하나를로드 할 수 없습니다.잘못된 형식의 프로그램을로드하려고 시도했습니다.

저는 최근 두 달 동안 다른 프로젝트로 옮긴 후 이 프로젝트 작업을 다시 시작했습니다.이전에는 완벽하게 작동했으며 모든 참조를 다시 확인했습니다.

도움이 되었습니까?

해결책 2

해결책을 찾았습니다.최근에 컴퓨터를 Windows 2008 Server 64비트로 업그레이드했습니다.SqlServer.Replication 네임스페이스는 32비트 플랫폼용으로 작성되었습니다.다시 실행하기 위해 해야 할 일은 프로젝트 빌드 속성의 대상 플랫폼을 X86으로 설정하는 것뿐이었습니다.

다른 팁

그만큼 대머리로 대답해 아래 내용은 정확하지만 AppPool에서 32비트 애플리케이션을 활성화해야 할 수도 있습니다.

원천: http://www.alexjamesbrown.com/uncategorized/could-not-load-file-or-assemble-chilkatdotnet2-or-one-of-its-dependentities-an-attempt-was-made-to-load-a- 형식이 잘못된 프로그램/

내 로컬 컴퓨터(Vista 64비트 실행)에서 실행되도록 응용 프로그램을 설정하는 동안 다음 오류가 발생했습니다.

파일이나 어셈블리를 로드할 수 없습니다. ChilkatDotNet2 또는 그 종속성 중 하나.잘못된 형식의 프로그램을로드하려고 시도했습니다.

분명히, 응용 프로그램은 ChilKat 구성 요소, 그런데 우리가 사용하는 버전은 32비트 버전만 있는 것 같습니다.

이 오류를 해결하기 위해 IIS에서 32비트 응용 프로그램을 허용하도록 앱 풀을 설정했습니다.IIS 관리자를 열고 앱 풀을 마우스 오른쪽 버튼으로 클릭한 다음 고급 설정을 선택합니다(아래 참조).

enter image description here

그런 다음 "32비트 응용 프로그램 활성화"를 True로 설정합니다.

enter image description here

모두 완료되었습니다!

웹 프로젝트 속성 페이지의 플랫폼 대상 값을 다음으로 변경합니다. Any CPU.

enter image description here

IIS로 이동 -> 응용 프로그램 풀 -> 사전 설정 -> 32 비트 응용 프로그램 활성화

최근 Visual Studio에서 코드를 실행하려고 할 때 문제가 발생했습니다.그런 경우에는 해야 할 일
도구 > 옵션 > 프로젝트 및 솔루션 > 웹 프로젝트를 선택하고 "웹 사이트 및 프로젝트에 64비트 버전의 IIS Express 사용"을 선택하세요.

이 오류가 발생하는 사람들을 위해 ASP.NET MVC 3 프로젝트(Visual Studio 자체 내):

작업 중인 ASP.NET MVC 3 앱에서 Microsoft.SqlServer.BatchParser에 대한 참조를 프로젝트에 추가하여 배포 서버에서 누락된 문제를 해결해 보았습니다.(저희 앱은 SMO를 사용합니다.올바른 수정 방법은 배포 서버에 SQL Server Native Client와 몇 가지 다른 항목을 설치하는 것이었습니다.)

BatchParser에 대한 참조를 제거한 후에도 내가 연 모든 ASP.NET MVC 3 페이지에서 BatchParser DLL을 참조하는 "시도가 이루어졌습니다..." 오류가 계속 발생했으며 해당 오류 뒤에는 수십 개의 페이지 구문 분석이 이어졌습니다. 오류.

이런 일이 발생하면 파일 검색을 수행하여 DLL이 프로젝트의 \bin 폴더 중 하나에 아직 있는지 확인하세요. 다시 빌드하더라도 Visual Studio에서 모든 \bin 폴더의 모든 내용을 반드시 지울 필요는 없습니다.bin에서 DLL을 삭제하고 다시 빌드하면 오류가 사라졌습니다.

IIS Express에 대한 Windows 10의 MVC5 앱에 이 기능이 있었습니다.내 솔루션은 다음과 같습니다.

  • 도구 =>
    • 옵션 =>
      • 프로젝트 및 솔루션 =>
        • 웹 프로젝트 =>
          • 웹 사이트 및 프로젝트에 64비트 버전의 IIS Express 사용

32비트(true)로 변경하면 작동합니다.

이 길이를 얻으면 0보다 작을 수 없습니다.매개변수 이름:iis 서버 구성의 길이 문제 간단한 작업을 수행하십시오. SQL Server 이름 및 서버 이름과 같은 web.config 파일의 연결 문자열을 변경하고 iis를 다시 시작한 다음 작동하는 페이지를로드하십시오.

만약에 Visual Studio 2012에서 게시 오류가 발생하면 선택을 취소해 보세요. "게시 중 프로컴파일" 게시 마법사의 옵션입니다.

Un-check

Windows Form 응용 프로그램에서는이 작업을 수행합니다. Project-> Properties-> 빌드-> Check 32 비트 확인란을 마우스 오른쪽 버튼으로 클릭하십시오.모두 감사합니다

  1. 여기에 위치한 임시 테스트 디렉토리 삭제 C : 사용자 (사용자) appdata local temp visuantStudiotestExplorExtensions

  2. Visual Studio에서 모든 프로젝트를 x64로 설정

  3. 기본 프로세서 아키텍처를 x64(Test/TestSettings/Default Processor Architecture)로 설정합니다.

솔루션 파일을 클린 빌드하세요. 도움이 되기를 바랍니다!

프로젝트 속성의 Target Framework를 .NET Framework 4.7.1에서 4.6.2로 변경하면 저에게 효과적이었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top