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



在C#交互式(作为Visual Studio 2019或独立版本的一部分(中,我想使用C#编写这样的代码:

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

这会给出以下信息:

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

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

更新2020-11-25

它在Visual Studio 16.8.2中运行。

只需输入#reset core即可切换到.NET Core。


更新2020-07-14

根据https://github.com/dotnet/roslyn/pull/45046,它可能会在Visual Studio 2019的下一个版本中工作。

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

  • #reset 32-切换到.NET Framework 32位进程
  • #reset 64-切换到.NET Framework 64位进程
  • #reset core-切换到.NET Core 64位进程

暂时将默认值保留为.NET Framework 64位。


原始答案

目前看来没有办法。因为C#Interactive无法运行Core CLR。

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

https://github.com/dotnet/roslyn/issues/40341

看起来dotnet interactive通过Jupyter Notebooks提供了类似的功能。https://devblogs.microsoft.com/dotnet/net-interactive-preview-3-vs-code-insiders-and-polyglot-notebooks/这救了我一天:-(

相关内容

  • 没有找到相关文章

最新更新