如何为csi.exe设置C#版本

如何为csi.exe设置C#版本,c#,c#-8.0,c#-interactive,csi,C#,C# 8.0,C# Interactive,Csi,在C#interactive(作为Visual Studio 2019或standalone的一部分)中,我希望使用C#编写类似的代码: 这将发出以下信息: (1,12):错误CS0518:未定义预定义类型“System.Range”,或 进口的 是否有办法修改csi.exe.config或其他方式以支持C#8.0 更新2020-11-25 它在VisualStudio16.8.2中工作 只需输入#重置核心即可切换到.NET核心 更新2020-07-14 据介绍,它可能会在下一版本的Visua

在C#interactive(作为Visual Studio 2019或standalone的一部分)中,我希望使用C#编写类似的代码:

这将发出以下信息:

(1,12):错误CS0518:未定义预定义类型“System.Range”,或 进口的

是否有办法修改csi.exe.config或其他方式以支持C#8.0

更新2020-11-25 它在VisualStudio16.8.2中工作

只需输入#重置核心即可切换到.NET核心


更新2020-07-14 据介绍,它可能会在下一版本的VisualStudio2019中运行

#reset
命令添加一个新选项,允许用户将交互式窗口主机切换到.NET Core:

  • #重置32
    -切换到.NET Framework 32位进程
  • #重置64
    -切换到.NET Framework 64位进程
  • #重置核心
    -切换到.NET核心64位进程
暂时将默认值保留为.NET Framework 64位


原始答案 目前看来没有办法。因为C#Interactive无法运行核心CLR

此时,交互式窗口仅支持.NET Framework。 因此,功能仅限于C#7.3及更低版本。太过启用C#8我们 需要首先启用在核心CLR上运行(请参见#4788)


看起来,dotnet interactive通过Jupyter笔记本电脑提供了类似的功能。 这救了我一天:-)

var s = "abcdef";
var s1 = s[2..4];