Как использовать 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 и является отличным ресурс в целом.
Используйте MonoDevelop. Я рекомендую строить из источника. Получить тег отhttps://github.com/mono/monodevelop, и следовать инструкциями осторожно. Затем установите плагин Nuget. Создайте проект F# и используйте интерфейс в MonoDevelop для добавления пакетов NuGet в проект. Затем вы можете строить из командной строки или из MonoDevelop.
найти существующий проект, использующий NuGet, выпотрошите его и используйте редактор по вашему выбору. Пример тяжеловеса -https://github.com/fsprojects/ProjectScaffold, Вы можете найти другие вокруг там. После того, как вы загрузили этот проект, вы сможете увидеть, как редактировать
nuget.config
файл для настройки зависимостей.недавний проект, пакет, предлагает поистине подход командной строки к проблеме наконец. Вам снова нужно
.fsproj
скелет (типа ), но затем вы можете создать очень простой файл зависимостей. Загрузите последний выпуск Paket из Github. Бег!-Затем -3--> будет использовать этот файл для извлечения зависимостей из NuGet и добавить их в свой.fsproj
в качестве ссылок.
есть небольшая проблема с загрузкой, но любой из этих подходов должен помочь вам преодолеть начальный горб.
Не видя сценарий, который вы делаете, трудно понять, в чем именно проблема. Тем не менее, самый легкий способ встать и запустить-это создать .файл FSX (а не .fs) файл. Затем вы можете ссылаться на DLL, используя синтаксис #r, например
#r @"C:\path\to\my\package\myassembly.dll"
вы можете получить доступ к коду оттуда, как обычно.