У меня установлена последняя версия кода Visual Studio (1.39.2) в Windows 10 (1809). Я также установил расширение 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 или по умолчанию
Но когда я запускаю csc.exe
из командной строки Windows вне кода VS, указав полный путь, например, так:
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 не использует csc.exe
, установленный в его собственной структуре каталогов (то есть в .vscode \ extensions \ ms-vscode.csharp-1.21.5 ...).