我正在尝试在 VS Code 中使用多语言笔记本。我在一台仅安装了 Dotnet SDK 5.0 的公司计算机上,并且没有管理员权限。我已下载最新版本 .NET 7 的二进制文件并将其解压缩到选定的位置。我已更新我的用户环境变量以将其包含在 DOTNET_ROOT 和 PATH 变量中,并修改了我的 VS Code settings.json 文件以获取所有适用的设置。在 VS Code 中,当我在终端中运行 dotnet --version 时,它显示为 7.0.202。同样,当我运行 F# 脚本文件时,它使用 7.0.202。但是,当我尝试使用多语言笔记本时,我收到“需要 .NET 7 SDK”消息。是否可以让 Polyglot Notebooks 引用这个手动安装的 Dotnet SDK?如果是这样,我怎样才能做到这一点?
我正在尝试使用 C# 在 .NET 交互式笔记本中绘制简单的图形。有点像 Dr. Racket 的 C# 版本。
到目前为止我见过的最简单的事情是using System.Drawing (SFML.NET、Raylib-cs 也可以工作,但它们打开一个窗口来显示图形而不是在笔记本内)。
我也愿意尝试另一个推荐#r "nuget:<whatever>"。
该问题似乎与 MIME 类型有关,但我不确定。.dib我得到了相同的结果.ipynb
有没有办法使用类似的东西.Display()并在笔记本中显示简单的图像?
代码
using System.Drawing;
//Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Bitmap bitmap = new Bitmap(200, 200);
Graphics graphics = Graphics.FromImage(bitmap);
Pen pen = new Pen(Color.Blue, 2);
graphics.DrawArc(pen, 0, 0, 100, 100, 0, 20);
//bitmap.Save("DrawArc.png");
//display(bitmap);
bitmap.Display();
Run Code Online (Sandbox Code Playgroud)
输出
Tag PhysicalDimension Size Width Height HorizontalResolution VerticalResolution Flags RawFormat PixelFormat PropertyIdList PropertyItems FrameDimensionsList Palette
<null> …Run Code Online (Sandbox Code Playgroud) 使用 NET 6 我有以下项目结构:
nuget.config
project.code-workspace
- Core
Core.csproj
- Api
Api.csproj
- Sim
notebook.ipynb
Run Code Online (Sandbox Code Playgroud)
notebook.ipynb现在在哪里:
#i "nuget:https://api.nuget.org/v3/index.json"
#r "nuget:Microsoft.Data.Analysis,0.*"
using System;
using Microsoft.Data.Analysis;
Console.WriteLine("Hello World!");
Run Code Online (Sandbox Code Playgroud)
如何在 中包含对 Core 和 Api 项目的项目引用notebook.ipynb?
我需要使用notebook.ipynb.
我在 VS Code 中使用 .NET Interactive 笔记本,并且想要更改打印元素的数量:
var x = Enumerable.Range(0,21);
x.Display();
Run Code Online (Sandbox Code Playgroud)
输出中仅显示前 20 个元素:

我可以以某种方式增加输出的大小吗?