我对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#库?可能吗?这还有足够的信息吗?
我见过this和this(这更接近我的问题)但是那些人都比我更了解F#,他们远远超出了我的问题。< / p>
在交互式窗口中,当在#r "RdioSharp.dll";;
中进行打孔时,我得到了这个可爱的错误。
error FS0084: Assembly reference 'RdioSharp.dll' was not found or is invalid
答案 0 :(得分:7)
如果F#环境可以找到Rdiosharp.dll
的位置,则以下代码有效。通常不会!所以它不起作用,并告诉你“错误FS0084:程序集引用'RdioSharp.dll'未找到或无效”。
#r "RdioSharp.dll"
您可以提供此dll的确切路径,如下所示:
#r @"c:\temp\RdioSharp.dll"
或者您可以将其文件夹添加到搜索路径中:
#I @"c:\temp"