为什么我们不能在C#项目中使用F#类?
最终,它都是CIL,不是吗?
我们有什么理由不能将F#源文件添加到C#项目中吗?
答案 0 :(得分:35)
您可以在C#项目中使用F#类。您不能在C#项目中使用F#源文件。
C#项目由C#编译器编译。 F#项目由F#编译器编译。为了在C#项目中使用F#类,您需要创建一个单独的F#项目,将您的类放在那里,并在C#项目中添加对该项目的引用。
答案 1 :(得分:7)
要使用不同语言的程序集,您需要确保代码为CLS compliant。
这可确保您的代码使用通用且与所有.NET语言兼容的功能。
您不能在一个项目中混合使用不同语言的代码文件。这是Visual Studio的一个限制,以及它的构建系统是如何设计的。