.NET Interactive 支持在 Jupyter Notebook 中运行 C#,需安装 .NET SDK 和全局工具,注册内核后选择 .NET(C#) 内核使用,支持引用 NuGet 包、绘图、多语言混合编程及与 Python 协同工作,适用于教学、数据分析、API 探索和生成技术文档,实际应用中需确认环境变量和内核注册成功。

.NET Interactive 是一个开源项目,它让 .NET 语言(如 C#、F# 和 PowerShell)可以在交互式环境中运行,比如 Jupyter Notebook 或 Visual Studio Code 的交互窗口。它的核心目标是把 .NET 带入数据科学、教学和探索性编程的领域,这些场景过去主要由 Python 主导。
通过 .NET Interactive,你可以在 Jupyter Notebook 中像写 Python 一样编写并执行 C# 代码,支持变量持久化、实时输出图表、Markdown 注释等功能,极大提升了 .NET 在交互式计算中的可用性。
如何在 Jupyter Notebook 中运行 C# 和 .NET 代码
要在 Jupyter 中使用 C#,你需要完成以下几个步骤:
- 安装 .NET SDK(建议 6.0 或更高版本)
- 通过命令行安装 .NET Interactive 全局工具:
dotnet tool install -g Microsoft.dotnet-interactive - 将 .NET Interactive 内核注册到 Jupyter:
dotnet interactive jupyter install - 启动 Jupyter Notebook:
jupyter notebook 或 jupyter lab - 新建笔记本时选择 .NET(C#) 内核即可开始编写 C# 代码
支持的功能与典型用途
.NET Interactive 不只是能运行简单的 C# 脚本,它还支持许多高级功能:
-
引用 NuGet 包:使用 #r "nuget: 包名" 直接在 Notebook 中安装并引用第三方库,例如:
#r "nuget: MathNet.Numerics" - 绘图支持:结合 XPlot.Plotly 或 LiveCharts 等库,可在 Notebook 中生成交互式图表
- F# 和 PowerShell 支持:除了 C#,还能切换语言内核进行多语言混合编程
- 与 Python 协同工作:在同一个 Jupyter 环境中,可以同时使用 Python 和 C# 笔记本,便于跨语言实验
- 数据处理与分析:配合 DataFrame 类型(来自 Microsoft.Data.Analysis),可进行类似 pandas 的操作
实际应用场景
这项技术特别适合以下几种情况:
- 教学场景中演示 C# 语法和算法逻辑,学生无需配置复杂开发环境
- 数据科学家尝试用 C# 进行数据清洗、建模或调用 ML.NET 模型
- API 探索和原型验证,快速测试库功能而不用创建完整项目
- 生成包含代码、说明和可视化结果的技术文档或报告
基本上就这些。.NET Interactive 让 C# 也能拥有“边写边看”的能力,打破了传统编译型语言在交互体验上的局限。只要你会写 C#,就能轻松上手 Jupyter Notebook,开启更灵活的开发模式。不复杂但容易忽略的是环境变量和内核注册是否成功,遇到问题时记得检查 dotnet interactive 是否在路径中,并确认 jupyter kernelspec list 是否列出 .NET 内核。基本上就这些。










