代码之家  ›  专栏  ›  技术社区  ›  tzenes

在C#项目中引用F#dll时出现问题

  •  1
  • tzenes  · 技术社区  · 16 年前

    如果答案显而易见,请原谅我。

    我创建了一个VisualStudio解决方案,并向其中添加了两个项目,一个是F#库(名为 MathLibrary )第二个是C#前端(称为 frontend

    因此,我添加了对 数学图书馆 DLL在我的前端项目中,编译了 数学图书馆 前端 项目这时,我的编译器抱怨它是一个未定义的引用。我的理解是,添加适当的引用将允许我访问我的DLL,但显然我错过了一个重要的步骤。

    有什么帮助吗?

    3 回复  |  直到 11 年前
        1
  •  1
  •   pblasucci    16 年前

    .fs文件名与其中包含的名称空间/模块之间没有关系。。。除非完全省略任何名称空间或模块声明;在这种情况下,编译采用与文件同名的模块。虽然我很高兴您能够编译,但我认为您没有想到实际的问题/解决方案。

        2
  •  0
  •   Brian    16 年前

    Module1.SomeClass . F#库项目中的默认文件称为 Module1 namespace 或 module

    您可以尝试添加 namespace FsLib 到定义某个类的F#库代码的顶部,然后查看 FsLib.SomeClass

        3
  •  0
  •   Tomas Petricek    16 年前

    F#图书馆建设成功了吗?如果您使用Reflector打开DLL文件,是否可以看到该DLL文件以及它是否包含任何类和名称空间?

    无论如何,您还需要添加对的引用 FSharp.Core.dll (这是一个包含核心F#类型(如列表等)的库,由F#编译器生成的任何dll引用)。然而,我想如果您只需要添加这个引用,您会得到不同的错误消息。