F #: Почему файл скрипта не распознает модуль? - PullRequest
0 голосов
/ 04 мая 2018

Я создаю новый проект консольного приложения F # в Visual Studio 2015 Я создаю простой новый файл модуля с именем Calc.fs примерно так:

module Calc

let add a b = a + b

Я добавляю файл сценария F # в проект так:

open Calc

let c = add 1 2 

Я получаю следующие ошибки компилятора в файле скрипта:

Пространство имен или модуль 'Calc' не определены

и

Значение или конструктор 'add' не определены

Почему мой файл не распознается моим файлом сценария? Как я могу это исправить?

Обратите внимание, что мой файл скрипта появляется после модуля в порядке файлов в проекте:

enter image description here

1 Ответ

0 голосов
/ 04 мая 2018

.fsx файлы не компилируются вместе с остальной частью проекта; они не «знают» ни о каком другом коде, если вы явно не сделаете это им известным. Это верно для любых внешних DLL (и даже для многих в .NET Framework), а также для другого кода F #.

Вам нужно добавить

#load "Calc.fs"

в верхней части файла сценария, чтобы указать компилятору загрузить этот код перед оценкой остальной части сценария.

...