2013-03-01 2 views
3

У меня есть два проекта в решении F #.
1. основной проект с [EntryPoint] и установлен как проект StarUp.
2. поддержка, второй проект, содержит группу модулей поддержки. То есть они только вызываются и никогда не инициируют ничего и не служат точкой входа и не являются проектом StartUp.Как решить «Основной модуль программы пуст: ничего не произойдет, когда он будет запущен»

Для последнего модуля в проекте поддержки, составителя в Visual Studio дает

предупреждение FS0988: Основной модуль программы пуст; ничего не будет при запуске

При использовании compiler option nowarn встроенных в #nowarn "988" в модуле вызывает предупреждение ли подавить сообщение я предпочел бы добавить что-то вроде манекена функции с комментариями, который решает эту проблему.

Как сделать такую ​​фиктивную функцию для разрешения предупреждения?

EDIT

Джека правильно, что мой проект поддержки был настроен как Console Application вместо Class Library. Изменение на Class Library разрешило предупреждение. Также приятно узнать о do() для другого случая.

EDIT

Хотя это казалось странным, что я бы поставил поддержку проекта как 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