#f# #f#-scripting
#f# #f #-скриптинг
Вопрос:
Как я мог бы заставить это работать?
#I (__SOURCE_DIRECTORY__ @"binRelease")
И вторые вопросы. Возможно ли сделать что-то вроде:
let path = __SOURCE_DIRECTORY__ @"binRelease"
#I path
?
Ответ №1:
Вы не можете. Команды #I и #r на самом деле являются инструкциями предварительного процессора, которые выполняются перед динамической компиляцией кода с помощью fsi, поэтому они поддерживают только строковые литералы. Это логично, если вы подумаете об этом, поскольку упомянутым сборкам, возможно, потребуется скомпилировать код.
Однако команды #r и #I всегда принимают относительные пути как исходящие из расположения скриптов, поэтому этот
#I @".binRelease"
должно работать просто отлично (обратите внимание на точку, чтобы убедиться, что это относительный, а не абсолютный путь).
Обратите внимание, что относительные пути к средам выполнения находятся в рабочем каталоге fsi (обычно во временном каталоге), поэтому вам нужно использовать __SOURCE_DIRECTORY__
при загрузке файлов из ваших сценариев.