我正在遵循 Tomas Petricek 的关于 Multiplesight 的指南。我正在尝试创建一个 C# 单元测试项目来测试 F# 库中的一些方法,但是即使在 C# 项目中添加对 F# 项目的引用后,我也无法使用任何方法,因为它们无法识别,并且何时尝试使用 F# 项目中的命名空间,它是一个未知的命名空间。
大多数此类问题的解决方案似乎都针对不同的框架,但是,我在两个项目中都针对 4.5.2。
可能出什么问题了?
要检查的一件事是确保 F# 项目已编译并且没有错误。
当 C# 项目引用 F# 库时,C# 编译器将查看生成的dll文件并提供基于编译库的自动完成。这与从 C# 项目引用 C# 库不同,因为在这种情况下,自动完成基于 Visual Studio 在后台执行的检查。
这意味着,无论何时更改 F# 库的公共 API,都需要重新编译它以确保 C# 项目看到最新版本。