2013-03-01 5 views
3

두 가지 프로젝트가 F # 솔루션으로 제공됩니다.
1. 주 프로젝트는 [EntryPoint]이고 StarUp 프로젝트로 설정됩니다.
2. 지원, 두 번째 프로젝트는 지원 모듈 그룹을 보유합니다. 나는. 그들은 단지 호출되고 아무것도 시작하지 않으며 진입 점으로 봉사하지도 않고 시작 프로젝트도 아닙니다. Visual Studio에서 컴파일 지원 프로젝트의 마지막 모듈에 대한"프로그램의 주 모듈이 비어 있습니다 : 실행될 때 아무 것도 발생하지 않습니다."

경고 FS0988을 제공합니다 : 프로그램의 메인 모듈이 비어; 차라리 문제가 해결 의견 더미 기능 같은 것을 추가 할 메시지를 표시하지 않습니다 경고를 일으키는 원인이되는 모듈에 #nowarn "988"compiler option nowarn 인라인을 사용하는 동안이

를 실행할 때 아무것도 을 발생하지 않습니다.

경고를 해결하는 데 어떻게 위와 같은 기능을 사용합니까? 내 지원 사업은 설치가 Console Application 대신 Class Library로 하였다는 점에서

편집

잭은 올바른 것입니다. Class Library으로 변경하면 경고가 해결되었습니다. 다른 경우에는 do()에 대해서도 알고있는 것이 좋습니다.

편집

가 나는 Console Application 등의 지원 사업을 설정 한 것이라고 이상한 듯하지만, 나는 최근에 내가 프로젝트의 코드로 변경 한 어떤 이유로, 뭔가에서 출력 유형을 변경 한 것을 발견 Class Library 내지 Console Application. 나는 이것이 F # PowerPack과 관련이 있다고 생각하는데 그것은 규칙을 세우지 만 그것은 단지 추측 일 뿐이다.

+0

을 저도 같은 문제를 타격하고있다. 나는 아직 그것을 이해하지 못했다. WPF를 사용하고 있습니다. –

답변

5

Library 또는 Console Application으로 지원 프로젝트를 구축하고 있습니까? (프로젝트 속성 페이지를 통해 설정됩니다.)

라이브러리로 제작하는 경우 프로젝트의 마지막 파일 끝에 do()을 추가해야 할 수 있습니다. 어셈블리 레벨 속성 만 포함하는 모듈을 만들 때 (어셈블리에 적용 되었기 때문에 모듈이 컴파일러에 "비어있는"것으로 표시됨)와 같은 몇 가지 특정 시나리오에서 F # 컴파일러를 행복하게 만드는 데 필요합니다.

당신은 여기 내 코드의 예를 볼 수 있습니다 https://github.com/jack-pappas/FSharp.Compatibility/blob/master/FSharp.Compatibility.OCaml/AssemblyInfo.fs