我在Windows 10(1809)上拥有最新版本的Visual Studio Code(1.39.2)。我还安装了OmniSharp C#扩展名(扩展名ms-vscode.csharp,版本1.21.5)。
从集成终端运行命令csc -langversion:?
时,我得到:
microsoft(R)Visual C#编译器版本4.7.3190.0
用于C#5
警告CS2008:未指定源文件
错误CS1617:无效的选项 '?'为/ langversion;必须为ISO-1,ISO-2、3、4、5或默认值
但是,当我从VS Code之外的Windows命令行运行csc.exe
时,请指定完整路径,如下所示:
C:\Users\myaccount\.vscode\extensions\ms-vscode.csharp-1.21.5\
.omnisharp\1.34.5\.msbuild\Current\Bin\Roslyn\csc.exe -langversion:?
我得到:
支持的语言版本:
默认
1
2
3
4
5
6
7.0(默认)
7.1
7.2
7.3(最新)
最新
我了解VS Code的终端可能正在使用csc.exe
的不同版本,但是为什么会出现差异,以及如何配置VS Code以便可以使用最新的C#编译器?
编辑:
我想让我真正困惑的是,为什么VS Code不使用安装在其自己的目录结构(即.vscode \ extensions \ ms-vscode.csharp-1.21.5下)中的csc.exe
。 )。