Какую версию С# я использую

Мой вопрос так же прост, как кажется: я хочу узнать, какую версию С# я использую. Если бы я использовал Python, я бы сделал что-то вроде python -V из командной строки или введите

import sys
print sys.version

В php я бы сделал что-то вроде этого: phpinfo(); в java: java -Version

Но я не смог найти, как добиться этого в С#.

Я совершенно новичок в С#, поэтому, пожалуйста, не бейте меня слишком сильно. Что удивляет меня, что я не смог найти этот ответ на SO, поэтому я думаю, что я что-то упускаю или плохо в поиске вещей. Кстати, этот вопрос не отвечает на него, хотя название предполагает, что он должен.

Спасибо за ответы. Прямо сейчас я понял, что это зависит от .NET Framework, но есть ли программный способ выяснить мою инфраструктуру? (не заходя в каталог и не проверяя имена моих папок .NET)

Ответ 1

Чтобы получить версию фреймворка - посмотрите версию одной из основных ассембли, т.е.

 Console.Write(typeof(string).Assembly.ImageRuntimeVersion);

Получение версии компилятора С# несколько сложнее, но вы можете угадать версию, проверяя, какая версия рамки используется.

Если вы используете компилятор командной строки (csc.exe), вы можете проверить справку для просмотра версии (также вам нужно знать версию Framework в любом случае:

C:\Windows\Microsoft.NET\Framework\v4.0.30319>csc /?
Microsoft (R) Visual C# 2010 Compiler version 4.0.30319.1

Ответ 2

Это зависит от используемой вами .NET Framework. Проверьте ответы Джона Скита о версиях.

Вот короткая версия его ответа.

С# 1.0 выпущен с.NET 1.0

С# 1.2 (как ни странно); выпущен с.NET 1.1

С# 2.0 выпущен с.NET 2.0

С# 3.0 выпущен с.NET 3.5

С# 4.0 выпущен с.NET 4

С# 5.0 выпущен с.NET 4.5

С# 6.0 выпущен с.NET 4.6

С# 7.0 выпущен с.NET 4.6.2

С# 7.3 выпущен с.NET 4.7.2

Ответ 3

В то время как это не отвечает на ваш вопрос напрямую, я помещаю это здесь, поскольку Google привнес эту страницу в первую очередь в мои поиски, когда я искал эту информацию.

Если вы используете Visual Studio, вы можете щелкнуть правой кнопкой мыши на своем проекте, перейти к свойствам проекта и просмотреть версию, которую использует ваш проект, перейдя на "расширенный" на вкладке "build". Это должно содержать список доступных версий, а также тот, который использует ваш proj.

введите описание изображения здесь

Ответ 4

Используемая вами версия С# полностью зависит от используемой вами версии .Net.

Если вы используете визуальную студию для разработки, вы можете выбрать версию .net framework  связанная с ним версия С#

Это версии известных С#:

  • С# 1.0, выпущенный с помощью .NET 1.0 и VS2002 (январь 2002 г.)
  • С# 1.2 (как ни странно); выпущен с .NET 1.1 и VS2003 (апрель 2003 г.). Первая версия для вызова Dispose на IEnumerator, которая реализовала IDisposable. Несколько других мелких функций.
  • С# 2.0, выпущенный с помощью .NET 2.0 и VS2005 (ноябрь 2005 г.). Основные новые функции: дженерики, анонимные методы, типы с нулевым значением, блоки итераторов
  • С# 3.0, выпущенный с помощью .NET 3.5 и VS2008 (ноябрь 2007 г.). Основные новые функции: лямбда-выражения, методы расширения, деревья выражений, анонимные типы, неявное типирование (var), выражения запросов
  • С# 4.0, выпущенный с помощью .NET 4 и VS2010 (апрель 2010 г.). Основные новые функции: поздняя привязка (dynamic), общая дисперсия делегата и интерфейса, дополнительная поддержка COM, именованные аргументы и необязательные параметры.
  • С# 5.0 выпущен с .NET 4.5 в августе 2012 года.

Refrence Версии ответов Jon Skeet С#

Ответ 5

версия .NET через реестр

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\изучить детей и изучить каждую версию. Номер с ключом "Полный" - это версия в системе.

https://support.microsoft.com/en-us/kb/318785 https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx

версия .NET через Visual Studio

Справка → О Microsoft Visual Studio → Версия .NET указана в правом верхнем углу.

Как я понимаю, в это время Visual Studio использует .NET Framework из ОС.

Целевая версия проекта .NET Framework в Visual Studio может быть изменена с помощью свойств проекта → Приложение → Целевая структура

Через dll

Если вы знаете каталог .NET Framework например C:\Windows\Microsoft.NET\Framework64\v4.0.30319

Откройте System.dll, щелкните правой кнопкой мыши → свойства → вкладка "Сведения"

версия С#

Справка → О Microsoft Visual Studio

В списке установленных продуктов есть Visual С#. В моем случае Visual С# 2015

Visual Studio (Microsoft) отправляет С# по имени Visual С#.

https://msdn.microsoft.com/en-us/library/hh156499.aspx

С# 6, Visual Studio.NET 2015 Текущая версия, см. Ниже

Ответ 6

По умолчанию следуют соответствующие версии компиляторов С# для Visual Studio:

  1. Visual Studio 2015: С# 6.0
  2. Visual Studio 2013: С# 5.0
  3. Visual Studio 2012: С# 5.0
  4. Visual Studio 2010: С# 4.0
  5. Visual Studio 2008: С# 3.0
  6. Visual Studio 2005: С# 2.0
  7. Visual Studio.NET 2003: С# 1.2
  8. Visual Studio.NET 2002: С# 1.0

Вы также можете изменить версию, пожалуйста, выполните следующие шаги.

Откройте окно свойств проекта:

step 1. Right click on the Project Name
step 2. Select "Properties" (last option in menu)
step 3. Select "Build" from left hand side options and scroll till down
step 4. click on "Advance" button.
step 5. It will open a popup and there you will get "Language Version" dropdown
step 6. Select desired version of C# and Click "OK"

Ответ 7

Чтобы увидеть установленную версию компилятора VС#:

Откройте командную строку Visual Studio и просто введите csc и нажмите Enter.

Вы увидите следующее:

Microsoft (R) Visual С# компилятор версии 4.0.30319.34209

для Microsoft (R).NET Framework 4.5

Авторское право (C) Корпорация Microsoft. Все права защищены.

P.S.: " CSC" означают " Компилятор Sharp Sharp". Фактически, используя эту команду, вы запускаете csc.exe, который является исполняемым файлом, который находится в "c:\Windows\Microsoft.NET\Framework\vX.X.XXX". Для получения дополнительной информации о посещении CSC http://www.file.net/process/csc.exe.html

Ответ 8

Для Windows вы запускаете dev в строке программы/поиска и выбираете команду командной строки разработчика для VS. Тогда вы собираетесь просто запустить

csc

Теперь вы получаете информацию, аналогичную

Microsoft (R) Visual C# Compiler version 2.6.0.62329 (5429b35d)
Copyright (C) Microsoft Corporation. All rights reserved.   

Для Windows и если вы начинаете с CMD-терминала

cd C:\Windows\Microsoft.NET\Framework\
dir

Теперь вы видите все каталоги и файлы в.NET\Framework\Пожалуйста, выберите v... latest и пойдите туда, например,

cd v4.0.30319

Бежать

csc

Вы увидите информацию о версии компилятора С#, которая может быть чем-то похожей на

Microsoft (R) Visual C# Compiler version 4.7.2556.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

Ответ 9

Из командной строки разработчика введите

csc -langversion:?

Это отобразит все поддерживаемые версии С#, включая версию по умолчанию:

1
2
3
4
5
6
7.0 (default)
7.1
7.2
7.3 (latest)

Ответ 10

Если вы используете VS2015, выполните следующие действия, чтобы узнать то же самое:

  1. Щелкните правой кнопкой мыши на проекте.
  2. Нажмите на вкладку Свойства.
  3. В окне свойств выберите опцию Build.
  4. В этом нажмите на кнопку Advance.
  5. Там вы узнаете языковую версию.

Ниже изображения показывают шаги для того же:

Шаг 1:

Step 1

Шаг 2:

Step 2

Ответ 11

Благодаря @fortesl и этому ответу

Я использую VS 2019, и он не может легко сказать вам версию С#, которую вы используете. Я работаю с .Net Core 3.0 и VS 2019, используя С# 8 в этой среде. Но "CSC -langversion:?" проясняет это:

D:\>csc -langversion:?
Supported language versions:
default
1
2
3
4
5
6
7.0
7.1
7.2
7.3
8.0 (default)
latestmajor
preview
latest

Не уверен, что определяет csc -version:

D:\>csc --version
Microsoft (R) Visual C# Compiler version 3.4.0-beta1-19462-14 (2f21c63b)
Copyright (C) Microsoft Corporation. All rights reserved.