Usando a biblioteca C # em um projeto F #?

9

Sou novo em F #, mas realmente quero aprender. Eu sei Python, eu sei c #. De fato, eu tenho uma biblioteca C # que eu mesmo fiz; é um wrapper para a API do Rdio (que eu chamei de RdioSharp) que eu posso trazer com sucesso para outro projeto em C # e chamá-lo, usá-lo, obter dados ... funciona.

Eu quero começar a brincar com essa biblioteca C # em um projeto F #, mas não está funcionando direito. Aqui está um breve recorte do que o código c # parece.

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

Eu adicionei a referência à DLL no meu projeto FSharpTest , eu puxei um arquivo .fsx , e eu tentei o seguinte, cada linha abaixo (novamente, lembre-se, eu realmente não tenho idéia do que estou fazendo).

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

Eu não consigo descobrir isso. Eu sei como usar o sistema F # bibliotecas, mas como faço referência a uma biblioteca c # em F #? É possível? Isso é informação suficiente para continuar?

Eu vi este e isso (que fica ainda mais perto do meu problema), mas todos sabem mais sobre F # do que eu e eles estão bem à frente do meu problema.

Na janela interativa, ao inserir #r "RdioSharp.dll";; , recebo esse erro encantador.

error FS0084: Assembly reference 'RdioSharp.dll' was not found or is invalid
    
por Ben Kreeger 20.04.2011 в 16:11
fonte

1 resposta

5

O código a seguir funciona se o ambiente F # puder encontrar o local de Rdiosharp.dll . Geralmente não! Por isso, não funciona e diz-lhe que "erro FS0084: Referência de montagem 'RdioSharp.dll' não foi encontrado ou é inválido".

#r "RdioSharp.dll"

Você pode fornecer o caminho exato dessa dll como em:

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

ou você pode adicionar sua pasta ao caminho de pesquisa:

#I @"c:\temp"
    
por Yin Zhu 20.04.2011 / 16:39
fonte