내 유형 공급자는 일부 네이티브 x64 라이브러리를 사용합니다. 내 타입 제공자 라이브러리를
anyCpu
x64 플래그로 컴파일했습니다. 이제F # 형식 Visual Studio에서 x64 라이브러리를 사용하는 공급자
, 나는 Visual Studio에서 다른 프로젝트의 인텔리에서 내 타입 공급자를로드 할 때 나에게 다음과 같은 오류 제공 :
The type provider '...my type provider...' reported an error: An attempt was made to load a program with an incorrect format (Exception from HRESULT: 0x8007000B
그냥 단지로, 코드를 실행하지 않고 내가이 오류를 얻을, 그것은 명확하게하기를 형식 공급자를 Visual Studio에 등록합니다.
fsi
의 32 비트에서로드하려고하면 같은 오류가 발생합니다. 하지만 fsianycpu
또는 64 비트 fsi
으로 시도하면 문제가 없습니다. 내 유형 및 자동 완성은 fsi
에 있습니다.
VS 자체가 x86이기 때문에 IntelliSense/정적 코드 분석 또한 x86이기 때문에 어떤 시점에서는 x86 라이브러리에 의존하는 유형 공급자 코드를로드하려고 시도하고 오류 팝업이 발생합니다.
불행히도이 라이브러리는 x64 만 지원합니다.
이 작업을 함께 할 수있는 방법이 있습니까?
제공자가 원시 64 비트 라이브러리를 사용하는 경우 AnyCPU로 컴파일해서는 안됩니다. 그렇지 않습니다. 확실히 그것은 32 비트 컴퓨터에서 (또는 Visual Studio로 32 비트 프로세스 내부에서) 실행할 수 없습니다. –
맞습니다. 64 비트로 간주해야합니다. – Klark