在F#项目中使用C#库?

我对F#很新鲜,但我真的想学习它。 我认识Python,我知道C#。 事实上,我有一个我自己制作的C#库; 它是Rdio API(我将其命名为RdioSharp)的包装器,我可以成功地将其引入另一个C#项目并调用它,使用它,获取数据……它可以工作。

我想开始在F#项目中使用这个C#库,但它无法正常工作。 这里简要介绍一下C#代码的样子。

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

我已经在我的FSharpTest项目中添加了对DLL的引用,我已经提取了一个.fsx文件,我已经尝试了以下,每行下面(再次,请记住,我真的不知道我是什么’我在做)。

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

我无法想象这一个。 我知道如何使用系统F#库,但是如何在F#中引用C#库? 可能吗? 这还有足够的信息吗?

我已经看到了这个和这个 (这更接近我的问题)但是那些人都比我更了解F#,他们远远超出了我的问题。

在交互式窗口中,在#r "RdioSharp.dll";;打孔时#r "RdioSharp.dll";; ,我得到了这个可爱的错误。

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

如果F#环境可以找到Rdiosharp.dll的位置,则以下代码有效。 通常不会! 因此它不起作用并告诉您“错误FS0084:程序集引用’RdioSharp.dll’未找到或无效”。

 #r "RdioSharp.dll" 

您可以提供此dll的确切路径,如下所示:

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

或者您可以将其文件夹添加到搜索路径中:

 #I @"c:\temp"