#.net #f# #f#-interactive
#.net #f# #f #-интерактивный
Вопрос:
У меня есть решение с несколькими проектами F #. Я могу легко ссылаться между проектами, используя относительный путь.
Однако, если я хочу использовать этот проект в файле .fsx в другом проекте, я должен указать абсолютный путь к соответствующему dll-файлу, что довольно неудобно. Я заметил, что на F # Powerpack можно было бы ссылаться в F # Interactive удобным способом:
#r "FSharp.Powerpack.dll"
Как я могу зарегистрировать путь к F # Interactive на постоянной основе или ссылаться на проект для использования в F # Interactive без указания абсолютного пути?
Ответ №1:
Как указал Дэниел, на F # PowerPack можно ссылаться, используя короткое имя, поскольку он установлен в GAC (глобальный кэш сборок). Для этого требуется, чтобы сборка была подписана, и я обычно не стал бы часто использовать ее для несистемных библиотек.
Если расположение вашей сборки всегда одно и то же относительно файла сценария F # (т. Е. Если файл сценария является частью проекта), вы можете использовать относительный путь:
#r @"..LibrarybinDebugLibrary.dll"
Другой альтернативой является создание некоторой пользовательской папки и указание F # Interactive искать сборки в этой папке. Это можно сделать, добавив аргумент командной строки -I:"C:yourfolder"
в процесс F # Interactive (в Visual Studio перейдите в «Параметры», затем «F # Tools» и измените «F # Interactive options»).
Ответ №2:
Вы можете использовать #I
для установки пути к каталогу один раз. Затем используйте #r
оттуда только имя файла. В случае PowerPack это, скорее всего, в GAC, поэтому требуется только имя сборки.
Комментарии:
1. С #I мне все равно приходится использовать абсолютные пути для каждого файла fsx, который я хочу запустить. Это неудобно для работы с одной и той же кодовой базой на нескольких машинах.