如何为 csi.exe 设置 C# 版本
How to set C# version for csi.exe
在 C# 交互中(作为 Visual Studio 2019 或独立版的一部分)我想使用 C# 编写类似这样的代码:
var s = "abcdef";
var s1 = s[2..4];
这会给出以下消息:
(1,12): error CS0518: Predefined type 'System.Range' is not defined or
imported
有没有办法修改 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 的下一个版本中运行。
Adds a new option to #reset
command that allows the user to switch Interactive Window host to .NET Core:
#reset 32
- switches to .NET Framework 32-bit process
#reset 64
- switches to .NET Framework 64-bit process
#reset core
- switches to .NET Core 64-bit process
Leaves the default to .NET Framework 64-bit for now.
原回答
目前看来没有办法。因为 C# Interactive 无法 运行 核心 CLR。
The Interactive Window only supports .NET Framework at this point.
Hence features are limited to C# 7.3 and lower. Too enable C# 8 we
would need to first enable running on Core CLR (see #4788).
看起来 dotnet interactive 通过 Jupyter Notebooks 提供了类似的功能。
https://devblogs.microsoft.com/dotnet/net-interactive-preview-3-vs-code-insiders-and-polyglot-notebooks/
这拯救了我的一天:-)
在 C# 交互中(作为 Visual Studio 2019 或独立版的一部分)我想使用 C# 编写类似这样的代码:
var s = "abcdef";
var s1 = s[2..4];
这会给出以下消息:
(1,12): error CS0518: Predefined type 'System.Range' is not defined or imported
有没有办法修改 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 的下一个版本中运行。
Adds a new option to
#reset
command that allows the user to switch Interactive Window host to .NET Core:
#reset 32
- switches to .NET Framework 32-bit process#reset 64
- switches to .NET Framework 64-bit process#reset core
- switches to .NET Core 64-bit processLeaves the default to .NET Framework 64-bit for now.
原回答
目前看来没有办法。因为 C# Interactive 无法 运行 核心 CLR。
The Interactive Window only supports .NET Framework at this point. Hence features are limited to C# 7.3 and lower. Too enable C# 8 we would need to first enable running on Core CLR (see #4788).
看起来 dotnet interactive 通过 Jupyter Notebooks 提供了类似的功能。 https://devblogs.microsoft.com/dotnet/net-interactive-preview-3-vs-code-insiders-and-polyglot-notebooks/ 这拯救了我的一天:-)