我需要维护一个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)
编译器告诉我2次出现的CSV_Reader
The namespace or module 'CSV_Reader' is not defined
The namespace or module 'CSV_Reader' is not defined
编辑:
感谢Guy Coder提供的the link (likely duplicate),结果发现我遇到的问题是.net框架不匹配问题。 F#项目在.net 4上运行,但C#dll是用.net 4.5编写的。因此,当我引用C#项目时,会出现一个带感叹号的黄色三角形。我需要做的就是修改C#dll项目,使用与F#项目相同版本的.net框架,问题就解决了。