簡體   English   中英

如何為 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): 錯誤 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/拯救了我的一天:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM