Побочные эффекты использования более старой версии .NET с более новой версией C # - PullRequest
0 голосов
/ 13 сентября 2018

Я написал некоторый код в .NET Project на компьютере с Windows 10 с Visual Studio 2017. Целевая структура - 4.5.2. и используемая версия C # используется по умолчанию (при запуске инструмента csc в папке «C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319» отображается C # 5.

Я использовал функцию из C # 6. Монадическая проверка на ноль (https://damieng.com/blog/2013/12/09/probable-c-6-0-features-illustrated). и компилятор не жалуется на это.

Это нормальное поведение или я что-то упустил? Разве компилятор не должен жаловаться на это?

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Что вам не хватает, так это того, что используемый компилятор C # не является найденным вами csc.exe. Visual Studio поставляется с собственным компилятором C #, который поддерживает C # 6 (и позже, в зависимости от конкретной версии VS, которую вы установили).

0 голосов
/ 13 сентября 2018

Версия языка C # определяется Visual Studio, а не .Net Framework.

Пока ваша версия Visual Studio поддерживает версию C #, вы не встретите никаких ошибок.

Настройка языковой версии в Visual Studio: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version

...