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

标签 c# visual-studio f# reference

我刚接触 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# 库?可能吗?这些信息足够继续吗?

我看过 thisthis (这更接近我的问题)但是那些人对 F# 的了解都比我多,而且他们远远领先于我的问题。

在交互式窗口中,当输入 #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"

关于c# - 在 F# 项目中使用 C# 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5731693/

相关文章:

c# - C# Web 应用程序中的 Azure Active Directory B2C

c# - 自动发送电子邮件

visual-studio - 如何将 TFS 工作项链接到 TFS 变更集

c++ - 适用于 Windows 和 Linux 的 Visual Studio 2010 项目

c# - 使用 PDFsharp 将 PDF 转换为 Jpeg(资源为空)

visual-studio - 如何在 Tfs 中计算小时数?

.net - 为什么堆栈的深度使用会导致简单解释器的超线性时间行为?

f# - 如何在 F# 中进行卷积?

reflection - 使用 Reflection.Emit 生成可识别联合

c# - ViewData 未传递到 ASP.NET Core 2.1 中的布局