2011-03-23 5 views
1

FSI 내에 등록 된 COM 구성 요소를 참조하고 사용할 수있는 방법이 있습니까?COM DLL을 FSI와 함께 사용

정상적인 .fs 컴파일 된 프로그램에서 문제의 구성 요소를 간단하게 참조하고 관련 생성 된 네임 스페이스를 열 수 있습니다. 그러나 .fsx 파일에서이 동작을 복제 할 수 없습니다. 나는 .dll을 직접 참조하기 위해 #r을 사용하여 시도해 보았고 #I를 사용하여 라이브러리의 "친숙한"이름과 파일 이름 둘 다에 따라 디렉토리를 가리키는 시도를했지만 아무 것도 작동하지 않는 것 같습니다.

.fsx에서 .NET 어셈블리 만 참조 할 수 있습니까? 래퍼 어셈블리를/gen에 쓰고 싶지는 않습니다. FSI가 interop 계층을 제공하기 위해 정상적인 실행 파일이 수행하는 모든 단계를 수행하도록하는 방법이 있기를 희망합니다.

답변

3

Visual Studio에서 COM 구성 요소에 대한 참조를 추가하면 래퍼 (표준 .NET 어셈블리)를 생성하는 도구가 호출되고 래퍼가 참조됩니다.

당신이 fsx에서 COM을 참조 할 경우, 당신은 래퍼 자신을 생성해야합니다 (비주얼 스튜디오에 의해 생성 된 하나 또는 발견?) TlbImp.exe라고 래퍼 (Type Library Importer on MSDN 참조)를 생성하는 도구입니다.

+0

감사합니다. 토마스, 나는 많은 것으로 의심했다! –

+0

더 이상 스스로 할 필요가없는 것은 무엇입니까? – akaphenom

관련 문제