Как узнать версию net core
Перейти к содержимому

Как узнать версию net core

  • автор:

Name already in use

docs / docs / core / install / how-to-detect-installed-versions.md

  • Go to file T
  • Go to line L
  • Copy path
  • Copy permalink
  • Open with Desktop
  • View raw
  • Copy raw contents Copy raw contents

Copy raw contents

Copy raw contents

How to check that .NET is already installed

This article teaches you how to check which versions of the .NET runtime and SDK are installed on your computer. If you have an integrated development environment, such as Visual Studio or Visual Studio for Mac, .NET may have already been installed.

Installing an SDK installs the corresponding runtime.

If any command in this article fails, you don’t have the runtime or SDK installed. For more information, see the install articles for Windows, macOS, or Linux.

Check SDK versions

You can see which versions of the .NET SDK are currently installed with a terminal. Open a terminal and run the following command.

You get output similar to the following.

Check runtime versions

You can see which versions of the .NET runtime are currently installed with the following command.

You get output similar to the following.

Check for install folders

It’s possible that .NET is installed but not added to the PATH variable for your operating system or user profile. In this case, the commands from the previous sections may not work. As an alternative, you can check that the .NET install folders exist.

When you install .NET from an installer or script, it’s installed to a standard folder. Much of the time the installer or script you’re using to install .NET gives you an option to install to a different folder. If you choose to install to a different folder, adjust the start of the folder path.

dotnet executable
C:\program files\dotnet\dotnet.exe

.NET SDK
C:\program files\dotnet\sdk\\

.NET Runtime
C:\program files\dotnet\shared\\\

dotnet executable
/home/user/share/dotnet/dotnet

.NET SDK
/home/user/share/dotnet/sdk//

dotnet executable
/usr/local/share/dotnet/dotnet

.NET SDK
/usr/local/share/dotnet/sdk//

You can see both the SDK versions and runtime versions with the command dotnet —info . You’ll also get other environmental related information, such as the operating system version and runtime identifier (RID).

.NET Core: номера версий и global.json

Уверен, большинство людей, читающих это, знают, что Microsoft недавно анонсировала ASP.NET Core и .NET Core 2.0 Preview 1 на Microsoft Build 2017.

У этой статьи нет цели — дать введение в ASP.NET Core. Вместо этого мы рассмотрим установку .NET Core 2.0 Preview 1 на ваш компьютер таким образом, чтобы это не мешало параллельно работать над другими проектами под ASP.NET Core 1.0/1.1. Т.е. мы установим несколько версий .NET Core на одном компьютере.

Установка .NET Core 2.0 Preview 1 SDK

Очевидно, первое, что нужно сделать — установить .NET Core 2.0 Preview 1 SDK отсюда. Это очень легко: никакого выбора вариантов установки — просто скачиваете и устанавливаете. И там только один номер версии!

Одно небольшое замечание: .NET Core теперь также включает ASP.NET Core. Это значит, что вам нужно устанавливать меньше внешних пакетов, когда вы разворачиваете свое приложение, что не может не радовать!

Стоит также отметить, что, если вы хотите создавать приложения ASP.NET Core 2.0 в Visual Studio, вам нужно будет установить предварительную версию Visual Studio 2017. Её можно устанавливать параллельно со стабильной версией.

Версии .NET Core

Выше я написал, что новый .NET Core имеет только один номер версии 2.0 preview 1, но это не совсем так. Есть два разных аспекта установки .NET Core: номер версии SDK/CLI (command line interface) и номер версии runtime (среды исполнения или .NET Core Shared Framework Host).

Если вы только-что установили 2.0 preview 1, то, если наберете в консоли dotnet —info, увидите примерно следующее:

Там целая куча разной информации, среди которой есть два разных номера версий:

  • 2.0.0-preview1-005977 — версия SDK
  • 2.0.0-preview1-002111-00 — версия среды исполнения

Но эти номера версий немного вводят в заблуждение. У меня на компьютере установлены также .NET Core SDK версии 1.0 и .NET Core Runtime версии 1.1.1 и 1.0.4, но здесь нет никакой информации о инх.

Понимание версий .NET Core runtime

Одно из преимуществ .NET Core заключается в возможности установи параллельно нескольких версий среды исполнения параллельно, без влияния их друг на друга. Это отличается от того, как происходит установка .NET Framework. Вы не можете установить параллельно .NET Framework 4.5, 4.6 и 4.7 — версия 4.7 заменит предыдущие версии.

Вы можете увидеть, какие версии среды исполнения .NET Core уже установлены, если зайдете в папку C:\Program Files\dotnet\shared\Microsoft.NETCore.App (на маках нужно смотреть в папку /usr/local/share/dotnet/shared/Microsoft.NETCore.App ). Как видите, на моем компьютере установлено три версии:

Следующий вопрос — как узнать, какая версия среды исполнения будет использоваться, когда вы запускаете свое приложение?

Всё очень просто: вам нужно указать нужную версию в .csproj файле!

Например, в проекте .NET Core 1.1 вы можете установить параметр <TargetFramework> (или <TargetFrameworks> , если вы собираете проект под несколько разных версий) в значение netcoreapp1.1 :

В этом случае приложение будет использовать .NET Core версии 1.1.1 (см. выше список установленных версий). Если вы установите <TargetFramework> в значение netcoreapp1.0 , то будет использоваться версия 1.0.4.

Файл .csproj: для ASP.NET приложения, использующего runtime версии 2.0 preview 1 будет выглядеть примерно так:

В файле .csproj указано для <TargetFramework> значение netcoreapp2.0 и будет использована максимальная соответствующая ему версия (на моем компьютере — это 2.0.0-preview1-002111-00 ).

Понимание версий SDK

Надеюсь, теперь вы всё понимаете про версии среды исполнения .NET Core. Но у нас всё еще остается открытым вопрос про версии SDK/CLI.

Если вы перейдете в папку C:\Program Files\dotnet\sdk (на маках нужно смотреть в папку /usr/local/share/dotnet/sdk ), вы увидите, какие версии SDK установлены на вашем компьютере. Как видите, у меня установлено две версии: 1.0.0 и 2.0.0-preview1-005977 .

Грубо говоря, SDK — это штука, которая предоставляет команды, связанные со сборкой: dotnet new , dotnet build , dotnet publish и т.п.

В общем случае, любая версия SDK, которая больше версии, использованной при создании проекта, может быть использована для его сборки ( dotnet build и dotnet publish ). Таким образом, вы можете просто использовать SDK версии 2.0 для работы с проектами, созданными в SDK версии 1.0.

Это значит, что в большинстве случаев вы можете использовать для всех проектов последнюю версию SDK. Другая версия SDK может понадобиться, например, если вы хотите собрать проект, использующий файл project.json (в этом случае вам будет нужен RC2 SDK).

Текущая версия SDK также влияет на новые проекты, создаваемые командой dotnet new . Если вы используете SDK версии 2.0 Preview 1, вы получите приложение на основе netcoreapp2.0 , если вы используете SDK версии 1.0, вы получите приложение на основе netcoreapp1.1 !

Следующий вопрос — как указать приложению, какую версию SDK нужно использовать.

Выбор версии SDK в файле global.json

Файл global.json имеет очень простой формат, который просто задает, какую версию SDK нужно использовать:

Когда вы запускаете dotnet new или dotnet build , dotnet ищет global.json , сначала в текущей папке, потом во всех родительских папках. Если global.json найден (и доступна версия SDK, указанная там!), то эта версия будет использована для всех запускаемых команд SDK внутри этой папки. Если не получилось найти ни один файл global.json , будет использована последняя доступная версия SDK, в моем случае, 2.0.0-preview1-005977 .

Лично я поместил вышеуказанный global.json в свою папку Projects и поэтому все существующие проекты, которые в ней находятся, будут продолжать использовать SDK 1.0.0 (а также все новые проекты, которые я там создаю). Затем я создал подпапку netcore20 и добавил следующий global.json . В ней я размещаю все проекты, в которых хочу «поиграть» с предварительной версией ASP.NET Core 2.0, не рискуя получить проблемы из-за этого!

Заключение

Версионирование было одной из проблем .NET Core до недавнего времени. Выравнивание всех версий в будущем, безусловно, упростит ситуацию и, как мы надеемся, это будет вызывать меньше путаницы. Но по-прежнему стоит попытаться понять разницу между версиями среды выполнения и версиями SDK. Я надеюсь, что этот пост помог прояснить некоторые из этих вопросов!

How to determine if .NET Core is installed

Is there an official method of determining if .NET Core is installed?

(And I don’t mean the SDK, I want to check a server without the SDK, to determine if it has DotNetCore.1.0.0-WindowsHosting.exe installed on it)

with Version# of 1.0.11123.0 on my windows 7 machine, but I don’t see the same stuff on my Windows 10 machine.

weloytty's user avatar

21 Answers 21

Great question, and the answer is not a simple one. There is no «show me all .net core versions» command, but there’s hope.

EDIT:

I’m not sure when it was added, but the info command now includes this information in its output. It will print out the installed runtimes and SDKs, as well as some other info:

If you only want to see the SDKs: dotnet —list-sdks

If you only want to see installed runtimes: dotnet —list-runtimes

I’m on Windows, but I’d guess that would work on Mac or Linux as well with a current version.

Also, you can reference the .NET Core Download Archive to help you decipher the SDK versions.

OLDER INFORMATION: Everything below this point is old information, which is less relevant, but may still be useful.

See installed Runtimes:

Open C:\Program Files\dotnet\shared\Microsoft.NETCore.App in Windows Explorer

See installed SDKs:

Open C:\Program Files\dotnet\sdk in Windows Explorer

(Source for the locations: A developer’s blog)

In addition, you can see the latest Runtime and SDK versions installed by issuing these commands at the command prompt:

dotnet Latest Runtime version is the first thing listed. DISCLAIMER: This no longer works, but may work for older versions.

How to Check Installed .NET Core Version

This is one way to determine what version of .NET Core is installed on your machine (or if it’s not installed):

  1. Launch Windows PowerShell.
  2. Runtime
  3. SDK

In the following example, you can see that .NET Core 2.1.2 Runtime is installed, but the SDK is not installed with the following error message:

PowerShell query for installed .NET Core version

Otherwise, it will look more like the next screenshot:

PowerShell query for installed .NET Core version for both Runtime and SDK

Another Way

There’s another way to accomplish the same thing with a much simpler command and this works on either Windows or macOS.

  1. Depending on your operating system, launch either Windows PowerShell or Terminal.
  2. Runtime
  3. SDK

Installed .NET Core versions for both Runtime and SDK from PowerShell

Installed .NET Core versions for both Runtime and SDK from macOS Terminal

When you see more than one entries, that means you have several versions installed and actually that’s the advantage of using .NET Core, you can have different versions installed side-by-side. The latest version is the last version number at the bottom of the result.

If you need a way to check the installed version of .NET Framework instead, check the link here.

Further Reading

Buy me a coffee?

Buy me a coffee If you find any of the articles or demos helpful, please consider supporting my work here, you’ll have my big thanks!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *