문제

플랫폼의 Agnostic .NET 응용 프로그램이 운영 체제의 비난에 "플로팅"된다는 것을 알고 있습니다. 그러나 비 .net 응용 프로그램에서 호출되는 실행 파일이 아닌 라이브러리 인 .NET 어셈블리는 어떻습니까?

SQL Server 2005에 대한 CLR 확장 저장 프로 시저 인 .NET DLL이 있습니다. 현재 플랫폼 Agnostic입니다. 64 비트 Wind

도움이 되었습니까?

해결책

어셈블리가 편집 한 대상에 따라 다릅니다. 프로젝트 빌드 옵션에서 "모든 CPU"또는 "x86"을 선택한 경우 DLL은 32 비트 인스턴스로 실행해야합니다. "x64"를 선택하면 예외가 발생합니다 (메모리에서 badimageformatexception).

Windows 32 비트 프로세스에서는 64 비트 DLL을로드 할 수 없으므로 SQL Server는 프로세스 내에서 32 비트 버전의 .NET 런타임을 실행합니다. 따라서 .NET 어셈블리는 64 비트 기계에서도 32 비트로 실행됩니다.

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