2014-01-30 2 views
5

F # 형식 공급자에 대해 작동하지 않습니다 다음 : 그것은, 컴파일 실행, 예상대로 작동하지만, 어떤 이유로 Circle이 Test.TypeLib의 인텔리 목록에 표시되지 않습니다인텔리는, 내가 어셈블리의 일부 미리 생성 된 형식을 노출 할 간단한 형식 공급자를 만든

// Circle member not showing up under TypeLib 
type Circle = Test.TypeLib.Circle 

let c = Circle() 
c.Radius <- 4. 
printfn "%f" c.Radius 
System.Console.ReadKey() |> ignore 

. 또한 내가 Circle이라고 말하면 A reference to type 'TestType.Circle' in assembly 'TestTypes' was found, but the type could not be found in that assembly.

내가 뭘 잘못하고 있니?

UPDATE하십시오 드미트리 제안, 나는이 related question을 볼 수 있고 내가하고있는 것과 유사한 무언가를하려고하는 associated type provider 다운로드. 안타깝게도 내 컴퓨터에서 공급자는 내 것과 동일하게 동작합니다. 즉, 네임 스페이스는 Intellisense를 제공하지만 형식은 제공하지 않습니다. 그래서 그것이 나의 구성이나 무엇에 특정한 것이 될 수 있는지 나는 모른다.

+0

Reflector 또는 원하는 분해 도구에서 어셈블리를 연 적이 있습니까? 좀 봐봐. –

+0

다음은 비슷한 질문에 대한 답변입니다. http://stackoverflow.com/questions/15078419/emitting-generated-types-in-f-type-providers/15079605#15079605 –

+0

질문이 추가 정보로 업데이트되었습니다. – luksan

답변

1

음, 내 코드가 아닙니다. 링크 된 예제에 포함 된 정확한 ProvidedTypes-head.fs을 사용하면 모든 것이 제대로 작동하는 것으로 나타납니다. 그러나 (FSharp.Data)과 같은 다른 버전을 사용하면 잘못된 동작이 발생합니다. 문제의 원인이되는 차이점이 무엇인지 잘 모르겠습니다. 나는 또한 파일의 "공식적인"버전을 어디에서 발견 할 수 있을지도 모르겠다.

업데이트 : 공식 버전이 here 인 것처럼 보입니다.