我需要维护一个 F# 项目。现在我需要导入一个 C# dll 并在那里使用一个函数。
我所做的是,在 F# 解决方案中,我添加了 C# 项目,然后在 F# 项目中,我添加了这个新的 C# 项目作为参考。具体步骤如下。
在解决方案资源管理器中,我找到了 F# 项目。右键单击引用,然后添加引用。在解决方案类别下,我检查了 C# 项目。
在所有这些步骤之后。我的 C# 项目被列为解决方案资源管理器中的参考之一。但它有一个带有感叹号的黄色三角形。
在 F# 解决方案文件中。我试过以下
open CSV_Reader //this is the project name, and also the namespace
module Stage =
CSV_Reader.Parser.InsertIntoDB(connStr, tableName, csvFilePath)
编译器告诉我 CSV_Reader 的 2 次出现
The namespace or module 'CSV_Reader' is not defined
The namespace or module 'CSV_Reader' is not defined
编辑:
感谢Guy Coder 提供的链接(可能是重复的) ,我发现我遇到的问题是 .net 框架不匹配问题。F# 项目在 .net 4 上运行,但 C# dll 是用 .net 4.5 编写的。因此,当我引用 C# 项目时,会有一个带有感叹号的黄色三角形。我需要做的就是修改 C# dll 项目以使用与 F# 项目相同版本的 .net 框架,问题就解决了。