Как использовать nuget с fsharp в Linux

Это мои первые часы с F#, играя с ним на Ubuntu Linux (14.04), но я потерял, как включить зависимости установки с nuget. У меня nuget.exe отлично работает на Mono, и я могу nuget install пакеты; они попадают в мой текущий каталог. Но тогда я не могу импортировать или открывать их из моего . Я пробовал различные варианты, но безрезультатно. Нужно ли писать файл проекта или использовать FAKE? Я не смог найти учебник, в котором подробно описаны минимальные необходимые шаги для настройки простого проекта.

Итак, что мне нужно сделать для доступа к зависимостям, которые я установил с помощью nuget?

2 ответов


короткий ответ заключается в том, что это не совсем просто. Длинный ответ заключается в том, что вы можете подойти к проблеме несколькими различными способами. Все методы, которые я предложу здесь, используют MSBuild .проекты fsproj, чтобы вы могли строить с помощью xbuild MyProject.fsproj. Стоит отметить, что поддельные скрипты, как правило, используют проекты fsproj, а также передают xbuild для фактической компиляции. В fsharp.org сайт имеет некоторые инструкции по загрузке конфигурации NuGet и является отличным ресурс в целом.

  1. Используйте MonoDevelop. Я рекомендую строить из источника. Получить тег отhttps://github.com/mono/monodevelop, и следовать инструкциями осторожно. Затем установите плагин Nuget. Создайте проект F# и используйте интерфейс в MonoDevelop для добавления пакетов NuGet в проект. Затем вы можете строить из командной строки или из MonoDevelop.

  2. найти существующий проект, использующий NuGet, выпотрошите его и используйте редактор по вашему выбору. Пример тяжеловеса -https://github.com/fsprojects/ProjectScaffold, Вы можете найти другие вокруг там. После того, как вы загрузили этот проект, вы сможете увидеть, как редактировать nuget.config файл для настройки зависимостей.

  3. недавний проект, пакет, предлагает поистине подход командной строки к проблеме наконец. Вам снова нужно .fsproj скелет (типа ), но затем вы можете создать очень простой файл зависимостей. Загрузите последний выпуск Paket из Github. Бег!-Затем -3--> будет использовать этот файл для извлечения зависимостей из NuGet и добавить их в свой .fsproj в качестве ссылок.

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


Не видя сценарий, который вы делаете, трудно понять, в чем именно проблема. Тем не менее, самый легкий способ встать и запустить-это создать .файл FSX (а не .fs) файл. Затем вы можете ссылаться на DLL, используя синтаксис #r, например

#r @"C:\path\to\my\package\myassembly.dll"

вы можете получить доступ к коду оттуда, как обычно.