如何在C#主程序中调用运行F#代码?(Rider/VS for Mac环境)
在C#主程序中调用F#代码(Rider/Visual Studio for Mac)
步骤1:构建解决方案结构
- 打开Rider或Visual Studio for Mac,新建一个空白解决方案
- 添加**控制台应用(C#)**作为主项目(存放你提供的
MainClass代码) - 添加**类库(F#)**项目(存放F#业务代码)
步骤2:编写可被C#调用的F#代码
打开F#类库默认的Library1.fs文件,替换为以下代码(确保函数能被C#访问):
namespace FSharpLibrary module FSharpFunctions = // 示例函数:执行F#输出逻辑并返回结果字符串 let GetHelloMessage() = printfn "Hello, World from F#!" // F#原生打印 "F#代码执行完成"
步骤3:C#项目引用F#类库
- 在C#项目的「依赖项」上右键,选择「添加引用」
- 在弹出的窗口中选择同一解决方案下的F#类库,确认添加
步骤4:修改C#主程序调用F#函数
更新你的C#代码,引入F#命名空间并调用函数:
using System; using FSharpLibrary; class MainClass { public static void Main(string[] args) { // 调用F#模块中的函数 Console.WriteLine(FSharpFunctions.GetHelloMessage()); } }
注:如果你的业务确实需要unsafe关键字,可以保留,不影响F#函数调用
终端编译运行的正确方式(避免报错)
如果用终端操作,需按顺序编译:
- 编译F#类库:
dotnet build FSharpLibrary/FSharpLibrary.fsproj - 编译并运行C#项目:
dotnet run --project CSharpApp/CSharpApp.csproj
常见报错原因:未先编译F#类库、C#未正确引用F#项目、F#代码未通过命名空间/公开模块暴露函数
内容的提问来源于stack exchange,提问作者Red Mermaid
相关产品推荐
相关产品推荐

