Использование библиотеки C # в проекте F #? - PullRequest
10 голосов
/ 20 апреля 2011

Я новичок в F #, но я действительно хочу научиться этому. Я знаю Python, я знаю C #. На самом деле, у меня есть библиотека C #, которую я сделал сам; это оболочка для Rdio API (я назвал его RdioSharp), который я могу успешно перенести в другой проект C # и вызвать его, использовать его, получить данные ... он работает.

Я хочу начать играть с этой библиотекой C # в проекте F #, но она работает неправильно. Вот краткое описание того, как выглядит код C #.

namespace RdioSharp {
    public class RdioManager {
        public RdioManager() { }
    }
}

Я добавил ссылку на DLL в свой проект FSharpTest, я поднял файл .fsx и попробовал следующее в каждой строке ниже (опять же, имейте в виду, я действительно Понятия не имею, что я делаю).

open RdioSharp
open RdioSharp.dll
#r "RdioSharp.dll"
#r "C:\Path\To\Library\RdioSharp.dll"

Я не могу понять это. Я знаю, как использовать системные библиотеки F #, но как мне ссылаться на библиотеку C # в F #? Является ли это возможным? Достаточно ли этой информации для продолжения?

Я видел это и это (что становится еще ближе к моей проблеме), но все эти люди знают о F # больше, чем я, и они намного впереди моя проблема.

В интерактивном окне при пробивании #r "RdioSharp.dll";; я получаю эту прекрасную ошибку.

error FS0084: Assembly reference 'RdioSharp.dll' was not found or is invalid

1 Ответ

7 голосов
/ 20 апреля 2011

Следующий код работает, если среда F # может найти местоположение Rdiosharp.dll.Обычно нет!Таким образом, он не работает и сообщает вам, что «ошибка FS0084: ссылка на сборку« RdioSharp.dll »не найдена или недействительна».

#r "RdioSharp.dll"

Вы можете указать точный путь к этой dll, как в:

#r @"c:\temp\RdioSharp.dll"

или вы можете добавить его папку в путь поиска:

#I @"c:\temp"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...