Microsoft net что это за папка
Перейти к содержимому

Microsoft net что это за папка

  • автор:

что за папки?

У меня на диске D, который не является системным, существует две папки со странными именами. Первая: 8fcf57be19df7514ecb53a634c6a0862 вторая: 67ceb0c7da20989422634f838517caa2
В первой папке лежит NDP40-KB2533523.msp и другие папки с файлами, как я понял в папке находится всё, что принадлежит Microsoft.NET framework 4.0, а во второй папке лежит MPSigStub.exe и другие файлы.
Почему эти папки находятся не на системном диске C?

Дополнен 6 лет назад

примечательно то, что MPSigStub.exe должен быть в C\ windows\ system32, но поиск на диске C не дал результатов

Дополнен 6 лет назад
в обоих папках существует $shtdwn$.req
Лучший ответ

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

Практическое руководство. Определение установленных версий платформы .NET Framework

На компьютере можно установить и запустить несколько версий платформы .NET Framework. При разработке или развертывании приложения могут потребоваться сведения о том, какие версии .NET Framework установлены на компьютере пользователя. Реестр содержит список версий .NET Framework, установленных на компьютере.

Эта статья относится к .NET Framework. Чтобы определить, какие пакеты SDK и среды выполнения .NET Core и .NET 5+ установлены, см. раздел Как проверить, что .NET уже установлен.

Платформа .NET Framework состоит из двух основных компонентов, версии которым присваиваются отдельно:

  • набор сборок, которые являются коллекциями типов и ресурсов, обеспечивающих функции приложений (.NET Framework и сборкам назначается один номер версии); Например, версии .NET Framework включают в себя 4.5, 4.6.1 и 4.7.2.
  • среда CLR, которая выполняет код приложения и управляет им. Одна версия среды CLR обычно поддерживает несколько версий .NET Framework. Например, CLR версии 4.0.30319.xxxxx, где xxxxx меньше 42000, поддерживает .NET Framework версий с 4 по 4.5.2. Версия CLR не менее 4.0.30319.42000 поддерживает версии .NET Framework начиная с .NET Framework 4.6.

Средства, поддерживаемые сообществом, помогают определить, какие версии .NET Framework установлены:

  • https://github.com/jmalarcon/DotNetVersions Программа командной строки .NET Framework 2.0.
  • https://github.com/EliteLoser/DotNetVersionLister Модуль PowerShell 2.0.

Сведения об обнаружении установленных обновлений для каждой версии платформа .NET Framework см. в разделе «Практическое руководство. Определение установленных обновлений платформа .NET Framework».

Определение реализации и версии .NET, в которой работает приложение

Для запроса реализации и версии .NET, в которой работает ваше приложение, можно использовать свойство RuntimeInformation.FrameworkDescription. Если приложение работает в .NET Framework, выходные данные будут выглядеть примерно так:

.NET Framework 4.8.4250.0 

Если же приложение работает в .NET Core или .NET 5+, выходные данные будут выглядеть следующим образом:

.NET Core 3.1.9 .NET 5.0.0 

Обнаружение .NET Framework 4.5 и более поздних версий

Версия платформа .NET Framework (4.5 и более поздних версий) установлена на компьютере в реестре по адресу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Если отсутствует подраздел Full, то .NET Framework 4.5 или более поздней версии не установлен.

Подраздел NET Framework Setup в пути реестра не начинается с точки.

Значение Release REG_DWORD в реестре представляет установленную версию .NET Framework.

Версия платформы .NET Framework Значение Release
.NET Framework 4.5 Все операционные системы Windows: 378389
.NET Framework 4.5.1 В Windows 8.1 и Windows Server 2012 R2: 378675
Во всех других операционных системах Windows: 378758
.NET Framework 4.5.2 Все операционные системы Windows: 379893
.NET Framework 4.6 В Windows 10: 393295
Во всех других операционных системах Windows: 393297
.NET Framework 4.6.1 В системах обновления Windows 10 ноября: 394254
Во всех других операционных системах Windows (включая Windows 10): 394271
.NET Framework 4.6.2 В юбилейном обновлении Windows 10 и Windows Server 2016: 394802
Во всех других операционных системах Windows (включая другие операционные системы Windows 10): 394806
.NET Framework 4.7 В Windows 10 Creators Update: 460798
Во всех других операционных системах Windows (включая другие операционные системы Windows 10): 460805
.NET Framework 4.7.1 В Windows 10 Fall Creators Update и Windows Server версии 1709: 461308
Во всех других операционных системах Windows (включая другие операционные системы Windows 10): 461310
.NET Framework 4.7.2. Обновление Windows 10 апреля 2018 г. и Windows Server версии 1803: 461808
Во всех операционных системах Windows, отличных от Windows 10 апреля 2018 г. с обновлением и Windows Server версии 1803: 461814
.NET Framework 4.8 В обновление Windows 10 за май 2019 г. и Windows 10 ноября 2019 г. с обновлением: 528040
Обновление Windows 10 мая 2020 г., обновление за октябрь 2020 г., обновление за май 2021 г., обновление за ноябрь 2021 г. и обновление 2022 г.: 528372
В Windows 11 и Windows Server 2022: 528449
Во всех других операционных системах Windows (включая другие операционные системы Windows 10): 528049
платформа .NET Framework 4.8.1 Обновление Windows 11 2022 и Windows 11 2023: 533320
Все остальные операционные системы Windows: 533325

Минимальная версия

Чтобы определить, присутствует ли минимальная версия .NET Framework, проверьте значение Release REG_DWORD, которое больше или равно соответствующему значению, указанному в следующей таблице. Например, если приложение работает в .NET Framework 4.8 или более поздней версии, проверьте, является ли значение REG_DWORD Releaseбольшим или равным 528040.

Версия платформы .NET Framework Минимальное значение
.NET Framework 4.5 378389
.NET Framework 4.5.1 378675
.NET Framework 4.5.2 379893
.NET Framework 4.6 393295
.NET Framework 4.6.1 394254
.NET Framework 4.6.2 394802
.NET Framework 4.7 460798
.NET Framework 4.7.1 461308
.NET Framework 4.7.2. 461808
.NET Framework 4.8 528040
платформа .NET Framework 4.8.1 533320

Использование редактора реестра

Registry entry for .NET Framework 4.5

  1. В меню Пуск выберите Выполнить, введите regedit и нажмите кнопку ОК. (Для запуска программы regedit необходимы учетные данные администратора.)
  2. В редакторе реестра откройте следующий подраздел: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. Если подраздел Full отсутствует, платформа .NET Framework 4.5 или более поздней версии не установлена.
  3. Проверьте значение REG_DWORD с именем Release. Если оно имеется, платформа .NET Framework 4.5 или более поздней версии установлена. Это значение соответствует определенной версии .NET Framework. Например, на приведенном ниже рисунке значение параметра Release равно 528040, что является разделом выпуска для .NET Framework 4.8.

Использование PowerShell для проверки минимальной версии

Используйте команды PowerShell для проверки значения параметра Release в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.

В приведенных ниже примерах значение Release проверяется с целью определить, установлена ли версия 4.6.2 или более поздняя версия .NET Framework. Код возвращает значение True , если одна из таких версий установлена, и False в противном случае.

(Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release) -ge 394802 

Отправка запросов в реестр с помощью кода

  1. Используйте методы RegistryKey.OpenBaseKey и RegistryKey.OpenSubKey для доступа к подразделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full в реестре Windows.

Важно! Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Например, подраздел реестра для платформа .NET Framework 4.5 имеет значение HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full.

В следующем примере проверка значение записи выпуска в реестре для поиска версий платформа .NET Framework 4.5-4.8.1, установленных.

Добавьте директиву using Microsoft.Win32 или Imports Microsoft.Win32 в начало файла кода, если вы еще этого не сделали.

const string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\"; using (var ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey)) < if (ndpKey != null && ndpKey.GetValue("Release") != null) < Console.WriteLine($".NET Framework Version: "); > else < Console.WriteLine(".NET Framework Version 4.5 or later is not detected."); >> // Checking the version using >= enables forward compatibility. string CheckFor45PlusVersion(int releaseKey) < if (releaseKey >= 533320) return "4.8.1 or later"; if (releaseKey >= 528040) return "4.8"; if (releaseKey >= 461808) return "4.7.2"; if (releaseKey >= 461308) return "4.7.1"; if (releaseKey >= 460798) return "4.7"; if (releaseKey >= 394802) return "4.6.2"; if (releaseKey >= 394254) return "4.6.1"; if (releaseKey >= 393295) return "4.6"; if (releaseKey >= 379893) return "4.5.2"; if (releaseKey >= 378675) return "4.5.1"; if (releaseKey >= 378389) return "4.5"; // This code should never execute. A non-null release key should mean // that 4.5 or later is installed. return "No 4.5 or later version detected"; > 
Private Sub Get45PlusFromRegistry() Const subkey As String = "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" Using ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey) If ndpKey IsNot Nothing AndAlso ndpKey.GetValue("Release") IsNot Nothing Then Console.WriteLine($".NET Framework Version: ") Else Console.WriteLine(".NET Framework Version 4.5 or later is not detected.") End If End Using End Sub ' Checking the version using >= enables forward compatibility. Private Function CheckFor45PlusVersion(releaseKey As Integer) As String If releaseKey >= 533320 Then Return "4.8.1 or later" ElseIf releaseKey >= 528040 Then Return "4.8" ElseIf releaseKey >= 461808 Then Return "4.7.2" ElseIf releaseKey >= 461308 Then Return "4.7.1" ElseIf releaseKey >= 460798 Then Return "4.7" ElseIf releaseKey >= 394802 Then Return "4.6.2" ElseIf releaseKey >= 394254 Then Return "4.6.1" ElseIf releaseKey >= 393295 Then Return "4.6" ElseIf releaseKey >= 379893 Then Return "4.5.2" ElseIf releaseKey >= 378675 Then Return "4.5.1" ElseIf releaseKey >= 378389 Then Return "4.5" End If ' This code should never execute. A non-null release key should mean ' that 4.5 or later is installed. Return "No 4.5 or later version detected" End Function 

Этот пример выводит данные, подобные следующим:

.NET Framework Version: 4.6.1 

Запрос реестра с помощью кода PowerShell

В следующем примере PowerShell используется для проверка значение записи выпуска в реестре для поиска версий платформа .NET Framework 4.5-4.8.1, установленных:

$release = Get-ItemPropertyValue -LiteralPath 'HKLM:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release switch ($release) < < $_ -ge 533320 > < $version = '4.8.1 or later'; break > < $_ -ge 528040 > < $version = '4.8'; break > < $_ -ge 461808 > < $version = '4.7.2'; break > < $_ -ge 461308 > < $version = '4.7.1'; break > < $_ -ge 460798 > < $version = '4.7'; break > < $_ -ge 394802 > < $version = '4.6.2'; break > < $_ -ge 394254 > < $version = '4.6.1'; break > < $_ -ge 393295 > < $version = '4.6'; break > < $_ -ge 379893 > < $version = '4.5.2'; break > < $_ -ge 378675 > < $version = '4.5.1'; break > < $_ -ge 378389 > < $version = '4.5'; break >default < $version = $null; break >> if ($version) < Write-Host -Object ".NET Framework Version: $version" >else

В этом примере применяются рекомендации для проверки версии:

  • Проверяется, имеет ли параметр Release значение, большее или равное значению известных разделов выпуска.
  • Проверка выполняется с самой последней до самой ранней версии.

Обнаружение .NET Framework с 1.0 по 4.0

Каждая версия платформа .NET Framework от 1.1 до 4.0 указана как подраздел в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP. В следующей таблице перечислены пути к каждой версии .NET Framework. Для большинства версий существует значение REG_DWORD Install, равное 1 , чтобы указать, что эта версия установлена. В этих подразделах также имеется значение REG_SZ Version, содержащее строку версии.

Подраздел NET Framework Setup в пути реестра не начинается с точки.

Версия платформы Подраздел реестра Значение
1.0 HKLM\Software\Microsoft\. NETFramework\Policy\v1.0\3705 REG_SZ Install равно 1
1,1 HKLM\Software\Microsoft\NET Framework Setup\NDP\v1.1.4322 REG_DWORD Install равно 1
2.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727 REG_DWORD Install равно 1
3.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.0\Setup Значение REG_DWORD InstallSuccess равно 1
3.5 HKLM\Software\Microsoft\NET Framework Setup\NDP\v3.5 REG_DWORD Install равно 1
Клиентский профиль 4.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client REG_DWORD Install равно 1
Полный профиль 4.0 HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full REG_DWORD Install равно 1

Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Например, подраздел реестра для платформа .NET Framework 3.5 — HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.

Обратите внимание, что путь реестра к подразделу .NET Framework 1.0 отличается от остальных.

Использование редактора реестра (более ранние версии платформы)

The registry entry for .NET Framework 3.5.

  1. В меню Пуск выберите Выполнить, введите regedit и нажмите кнопку ОК. Для запуска программы regedit необходимы учетные данные администратора.
  2. Откройте подраздел, соответствующий версии, которую необходимо проверить. Используйте таблицу в разделе Обнаружение .NET Framework с 1.0 по 4.0. На приведенном ниже рисунке показан подраздел для версии .NET Framework 3.5 вместе со значением Version.

Запрос реестра с помощью кода (более ранние версии платформы)

Microsoft.Win32.RegistryKey Используйте класс для доступа к подразделу HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP в реестре Windows.

Если вы используете 32-разрядное приложение в 64-разрядной версии Windows, пути реестра будут отличаться от указанных ранее. 64-разрядный реестр доступен в подразделе HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ . Например, подраздел реестра для платформа .NET Framework 3.5 — HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v3.5.

В следующем примере ищутся установленные версии .NET Framework 1–4:

// Open the registry key for the .NET Framework entry. using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32). OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP\")) < foreach (var versionKeyName in ndpKey.GetSubKeyNames()) < // Skip .NET Framework 4.5 version information. if (versionKeyName == "v4") < continue; >if (versionKeyName.StartsWith("v")) < RegistryKey versionKey = ndpKey.OpenSubKey(versionKeyName); // Get the .NET Framework version value. var name = (string)versionKey.GetValue("Version", ""); // Get the service pack (SP) number. var sp = versionKey.GetValue("SP", "").ToString(); // Get the installation flag. var install = versionKey.GetValue("Install", "").ToString(); if (string.IsNullOrEmpty(install)) < // No install info; it must be in a child subkey. Console.WriteLine($""); > else if (install == "1") < // Install = 1 means the version is installed. if (!string.IsNullOrEmpty(sp)) < Console.WriteLine($" SP"); > else < Console.WriteLine($""); > > if (!string.IsNullOrEmpty(name)) < continue; >// else print out info from subkeys. // Iterate through the subkeys of the version subkey. foreach (var subKeyName in versionKey.GetSubKeyNames()) < RegistryKey subKey = versionKey.OpenSubKey(subKeyName); name = (string)subKey.GetValue("Version", ""); if (!string.IsNullOrEmpty(name)) sp = subKey.GetValue("SP", "").ToString(); install = subKey.GetValue("Install", "").ToString(); if (string.IsNullOrEmpty(install)) < // No install info; it must be later. Console.WriteLine($" "); > else if (install == "1") < if (!string.IsNullOrEmpty(sp)) < Console.WriteLine($"  SP"); > else < Console.WriteLine($" "); > > > > > > 
' Opens the registry key for the .NET Framework entry. Using ndpKey As RegistryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32). OpenSubKey("SOFTWARE\Microsoft\NET Framework Setup\NDP\") For Each versionKeyName In ndpKey.GetSubKeyNames() ' Skip .NET Framework 4.5 and later. If versionKeyName = "v4" Then Continue For If versionKeyName.StartsWith("v") Then Dim versionKey As RegistryKey = ndpKey.OpenSubKey(versionKeyName) ' Get the .NET Framework version value. Dim name = DirectCast(versionKey.GetValue("Version", ""), String) ' Get the service pack (SP) number. Dim sp = versionKey.GetValue("SP", "").ToString() Dim install = versionKey.GetValue("Install", "").ToString() If String.IsNullOrEmpty(install) Then ' No install info; it must be in a child subkey. Console.WriteLine($" ") ElseIf install = "1" Then If Not String.IsNullOrEmpty(sp) Then Console.WriteLine($"  SP") Else Console.WriteLine($" ") End If End If If Not String.IsNullOrEmpty(name) Then Continue For End If For Each subKeyName In versionKey.GetSubKeyNames() Dim subKey As RegistryKey = versionKey.OpenSubKey(subKeyName) name = DirectCast(subKey.GetValue("Version", ""), String) If Not String.IsNullOrEmpty(name) Then sp = subKey.GetValue("SP", "").ToString() End If install = subKey.GetValue("Install", "").ToString() If String.IsNullOrEmpty(install) Then ' No install info; it must be later. Console.WriteLine($" ") ElseIf install = "1" Then If Not String.IsNullOrEmpty(sp) Then Console.WriteLine($"  SP") Else Console.WriteLine($" ") End If End If Next End If Next End Using 

В этом примере отобразятся выходные данные, аналогичные следующим:

v2.0.50727 2.0.50727.4927 SP2 v3.0 3.0.30729.4926 SP2 v3.5 3.5.30729.4926 SP1 v4.0 Client 4.0.0.0 

Запрос реестра с помощью PowerShell (более ранних версий платформы)

В следующем примере PowerShell используется для проверка значения записи выпуска в реестре для поиска версий платформа .NET Framework 1-4, установленных:

Get-ChildItem -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' | Where-Object < ($_.PSChildName -ne "v4") -and ($_.PSChildName -like 'v*') >| ForEach-Object < $name = $_.Version $sp = $_.SP $install = $_.Install if (-not $install) < Write-Host -Object "$($_.PSChildName) $($name)" >elseif ($install -eq '1') < if (-not $sp) < Write-Host -Object "$($_.PSChildName) $($name)" >else < Write-Host -Object "$($_.PSChildName) $($name) SP$($sp)" >> if (-not $name) < $parentName = $_.PSChildName Get-ChildItem -LiteralPath $_.PSPath | Where-Object < if ($_.Property -contains 'Version') < $name = Get-ItemPropertyValue -Path $_.PSPath -Name Version >if ($name -and ($_.Property -contains 'SP')) < $sp = Get-ItemPropertyValue -Path $_.PSPath -Name SP >if ($_.Property -contains 'Install') < $install = Get-ItemPropertyValue -Path $_.PSPath -Name Install >if (-not $install) < Write-Host -Object " $($parentName) $($name)" >elseif ($install -eq '1') < if (-not $sp) < Write-Host -Object " $($_.PSChildName) $($name)" >else < Write-Host -Object " $($_.PSChildName) $($name) SP$($sp)" >> > > > 

Поиск версий CLR

.NET Framework CLR, установленный с .NET Framework, имеет отдельную версию. Есть два способа определить версию среды выполнения .NET Framework CLR:

    Инструмент Clrver.exe Для определения версий среды CLR, установленных на компьютере, можно использовать средство CLR Version (Clrver.exe). Откройте Командную строку разработчика или PowerShell для разработчиков в Visual Studio и введите clrver . Образец вывода:

Versions installed on the machine: v2.0.50727 v4.0.30319 

Важно! Для .NET Framework 4.5 и более поздних версий не следует использовать свойство Environment.Version для определения версии среды CLR. Вместо этого выполните запрос к реестру, как описано в разделе Обнаружение .NET Framework 4.5 и более поздних версий.

  1. Выполните запрос к свойству Environment.Version, чтобы получить объект Version. Возвращенный объект System.Version указывает версию среды выполнения, в которой в настоящее время выполняется код. Он не содержит версий сборок или других версий среды выполнения, которые установлены на компьютере. Для платформы .NET Framework версий 4, 4.5, 4.5.1 и 4.5.2 возвращаемый объект Version имеет строковое представление 4.0.30319.xxxxx, где xxxxx меньше 42000. Для .NET Framework 4.6 и более поздних версий оно имеет форму 4.0.30319.42000.
  2. Получив объект Version, выполните к нему запрос:
    • Чтобы получить идентификатор основного выпуска (например, 4 в случае версии 4.0), используйте свойство Version.Major.
    • Чтобы получить идентификатор дополнительной версии (например, 0 в случае версии 4.0), используйте свойство Version.Minor.
    • Чтобы получить всю строку версии (например, 4.0.30319.18010), используйте метод Version.ToString. Он возвращает одно значение, соответствующее версии среды выполнения, в которой выполняется код. Он не возвращает версий сборок или других версий среды выполнения, которые установлены на компьютере.

В следующем примере свойство Environment.Version используется для получения сведений о версии среды CLR:

Console.WriteLine($"Version: "); 
Console.WriteLine($"Version: ") 

В этом примере отобразятся выходные данные, аналогичные следующим:

Version: 4.0.30319.18010 

См. также

  • Практическое руководство. Определение установленных обновлений платформа .NET Framework
  • Устранение неполадок. Определение версий и пакетов обновления платформа .NET Framework
  • Установка .NET Framework для разработчиков
  • Версии и зависимости платформы .NET Framework

Совместная работа с нами на GitHub

Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Установка .NET в Windows

В этой статье описано, как установить .NET в Windows. .NET состоит из среды выполнения и пакета SDK. Среда выполнения используется для запуска приложения .NET и может быть включена в приложение. Пакет SDK используется для создания приложений и библиотек .NET. Среда выполнения .NET всегда устанавливается вместе с пакетом SDK.

Последняя версия .NET — 8.0.

Существует два типа поддерживаемых выпусков: выпуски долгосрочной поддержки (LTS) и выпуски стандартной поддержки терминов (STS). Качество всех выпусков одинаково. Единственное различие заключается в продолжительности поддержки. Выпуски LTS получают бесплатную поддержку и исправления в течение трех лет. Выпуски STS получают бесплатную поддержку и исправления в течение 18 месяцев. Дополнительные сведения см. в статье о политике поддержки .NET.

В следующей таблице перечислены сведения о состоянии поддержки каждой версии .NET (и .NET Core):

✔️ Поддерживается ❌ Не поддерживается
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2.1
2.0
1,1
1.0

Установка с помощью Диспетчер пакетов Windows (winget)

Вы можете установить и управлять .NET через службу Диспетчер пакетов Windows с помощью средства winget. Дополнительные сведения об установке и использовании winget см. в разделе «Использование средства winget«.

Если вы устанавливаете .NET на уровне системы, установите с правами администратора.

Установка пакета SDK

Пакет SDK для .NET позволяет разрабатывать приложения с помощью .NET. При установке пакета SDK для .NET не требуется устанавливать соответствующие среды выполнения. Чтобы установить пакет SDK для .NET, выполните приведенную ниже команду.

winget install Microsoft.DotNet.SDK.8 

Установка среды выполнения

Существует три разных среды выполнения .NET, которые можно установить, однако следует установить как среду выполнения рабочего стола .NET, так и среду выполнения ASP.NET Core для обеспечения максимальной совместимости со всеми типами приложений .NET. В следующей таблице описывается, что входит в состав каждой среды выполнения:

Включает среду выполнения .NET Включает среду выполнения рабочего стола .NET Включает ASP.NET базовую среду выполнения
Среда выполнения .NET Да No No
Среда выполнения рабочего стола .NET Да Да Нет
ASP.NET базовая среда выполнения No No Да

В следующем списке содержатся сведения о каждой среде выполнения вместе с командами winget для их установки:

    Среда выполнения рабочего стола .NET Эта среда выполнения поддерживает приложения Windows Presentation Foundation (WPF) и Windows Forms, созданные с помощью .NET. Это не то же самое, что и платформа .NET Framework, который поставляется с Windows. Эта среда выполнения включает среду выполнения .NET, но не включает ASP.NET Core Runtime, которая должна быть установлена отдельно.

winget install Microsoft.DotNet.DesktopRuntime.8 
winget install Microsoft.DotNet.Runtime.8 
winget install Microsoft.DotNet.AspNetCore.8 

Вы можете установить предварительные версии среды выполнения, заменив номер версии, например 6 словом Preview . В следующем примере устанавливается предварительная версия среды выполнения рабочего стола .NET:

winget install Microsoft.DotNet.DesktopRuntime.Preview 

Установка вместе с Visual Studio Code

Visual Studio Code — это эффективный и облегченный редактор исходного кода, который работает на компьютере. Visual Studio Code доступен для Windows, macOS и Linux.

Хотя Visual Studio Code не поставляется с автоматическим установщиком .NET Core, таким как Visual Studio, добавление поддержки .NET Core не вызывает затруднений.

  1. Скачайте и установите Visual Studio Code.
  2. Скачайте и установите пакет SDK для .NET.
  3. Установите расширение C# из Marketplace для Visual Studio Code.

Расширение C# для Visual Studio Code включает последнюю версию пакета SDK для .NET, и вам не нужно устанавливать среду выполнения .NET отдельно.

Установка с помощью установщика Windows

Существует три разных среды выполнения .NET, которые можно установить, однако следует установить как среду выполнения рабочего стола .NET, так и среду выполнения ASP.NET Core для обеспечения максимальной совместимости со всеми типами приложений .NET. В следующей таблице описывается, что входит в состав каждой среды выполнения:

Включает среду выполнения .NET Включает среду выполнения рабочего стола .NET Включает ASP.NET базовую среду выполнения
Среда выполнения .NET Да No No
Среда выполнения рабочего стола .NET Да Да Нет
ASP.NET базовая среда выполнения No No Да

Пакет SDK для .NET позволяет создавать приложения .NET и содержать все среды выполнения.

Страница загрузки для .NET содержит исполняемые файлы установщика Windows.

Для установки .NET в автоматическом режиме, например, в рабочей среде, или для поддержки непрерывной интеграции, используйте следующие параметры:

  • /install
    Устанавливает .NET.
  • /quiet
    Предотвращает отображение любого пользовательского интерфейса и запросов.
  • /norestart
    Подавляет попытки перезапуска.
dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart 

Установщик возвращает код выхода 0 для успешного выполнения и код выхода 3010, чтобы указать, что требуется перезапуск. Любое другое значение обычно является кодом ошибки.

Установка с помощью функции автоматизации PowerShell

Сценарии dotnet-install используются для автоматизации непрерывной интеграции и ее осуществления без прав администратора. Вы можете скачать сценарий со страницы справочника по сценариям dotnet-install.

Сценарий по умолчанию используется для установки последней долгосрочной версии поддержки (LTS), которая является .NET 8. Вы можете выбрать конкретный выпуск, указав параметр Channel . Включите параметр Runtime для установки среды выполнения. В противном случае сценарий устанавливает пакет SDK.

Следующая команда устанавливает среды выполнения Desktop и ASP.NET Core для обеспечения максимальной совместимости.

dotnet-install.ps1 -Channel 8.0 -Runtime windowsdesktop dotnet-install.ps1 -Channel 8.0 -Runtime aspnetcore 

Установите пакет SDK, опустив параметр -Runtime . Этот -Channel параметр устанавливается в этом примере STS , который устанавливает последнюю версию поддержки терминов «Стандартный», которая является .NET 7.

dotnet-install.ps1 -Channel STS 

Установка с помощью Visual Studio

Если вы используете Visual Studio для разработки приложений .NET, в следующей таблице указана минимальная требуемая версия Visual Studio на основе целевой версии пакета SDK для .NET.

Версия пакета SDK для .NET Версия Visual Studio
8 Visual Studio 2022 версии 17.8 или более поздней.
7 Visual Studio 2022 версии 17.4 или выше.
6 Visual Studio 2022 версии 17.0 или более поздней
5 Visual Studio 2019 версии 16.8 или более поздней.
3.1 Visual Studio 2019 версии 16.4 или более поздней.
3.0 Visual Studio 2019 версии 16.3 или более поздней.
2,2 Visual Studio 2017 версии 15.9 или более поздней.
2.1 Visual Studio 2017 версии 15.7 или более поздней.

Если среда Visual Studio уже установлена, вы можете проверить ее версию, выполнив указанные ниже действия.

  1. Откройте Visual Studio.
  2. Выберите Справка>О Microsoft Visual Studio.
  3. Считайте номер версии из диалогового окна О программе.

Visual Studio может установить последнюю версию пакета SDK для .NET и среды выполнения .NET.

Выбор рабочей нагрузки

При установке или изменении Visual Studio выберите одну или несколько из следующих рабочих нагрузок в зависимости от типа создаваемого приложения:

  • рабочая нагрузка Кроссплатформенная разработка .NET Core в разделе Другие наборы инструментов;
  • Рабочая нагрузка ASP.NET и веб-разработкив разделе «Веб-облако&«.
  • Рабочая нагрузка разработкиAzure в разделе «Веб-облако&«.
  • Рабочая нагрузка разработкиклассических приложений .NET в разделе «Мобильный компьютер».&

Windows Visual Studio 2019 with .NET Core workload

Поддерживаемые выпуски

В приведенной ниже таблице содержится список поддерживаемых сейчас выпусков .NET и версий Windows, в которых они поддерживаются. Эти версии поддерживаются до окончания поддержки версии .NET, либо до окончания жизненного цикла версии Windows.

Даты окончания жизненного цикла версий Windows 10 зависят от выпуска. В следующей таблице рассматриваются только выпуски Домашняя, Профессиональная, Pro для образовательных учреждений и Pro для рабочих станций. Дополнительные сведения см. в справочных материалах по жизненному циклу поддержки Windows.

Символ + представляет минимальную версию.

Операционная система .NET 8 .NET 7 .NET 6
Windows 11 ✔️ ✔️ ✔️
Windows Server 2022 ✔️ ✔️ ✔️
Windows Server, версия 1903 или более поздняя ✔️ ✔️ ✔️
Windows 10 версии 1607 или более поздней ✔️ ✔️ ✔️
Windows 8.1 ✔️
Windows 7 с пакетом обновления 1 (SP1), ESU ✔️
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️ ✔️ ✔️
Windows Server Core 2012 R2 ✔️ ✔️ ✔️
Windows Server Core 2012 ✔️ ✔️ ✔️
Nano Server, версия 1809 и выше ✔️ ✔️ ✔️
Nano Server, версия 1803

Дополнительные сведения о поддерживаемых операционных системах, дистрибутивах и политике жизненного цикла .NET 8 см . в поддерживаемых версиях ОС .NET 8.

Неподдерживаемые выпуски

Следующие версии .NET больше не поддерживаются (❌).

  • .NET 5
  • .NET Core 3.1.
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0;

Проверка скачанных двоичных файлов

После скачивания установщика убедитесь, что файл не был изменен или поврежден. Вы можете проверить проверка сум на компьютере, а затем сравнить его с тем, что было сообщено на веб-сайте скачивания.

При скачивании установщика или двоичного файла с официальной страницы скачивания отображается проверка sum для файла. Нажмите кнопку «Копировать«, чтобы скопировать значение проверка sum в буфер обмена.

The .NET download page with checksum

С помощью PowerShell или командной строки можно проверить проверка sum файла, который вы скачали. Например, следующая команда сообщает проверка sum файла dotnet-sdk-8.0.100-win-x64.exe:

> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512 SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe: 248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e CertUtil: -hashfile command completed successfully. 
> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash 248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e 

Сравните проверка sum со значением, предоставленным сайтом скачивания.

Проверка с помощью PowerShell и файла проверка sum

Заметки о выпуске .NET содержат ссылку на файл проверка sum, который можно использовать для проверки скачаемого файла. Ниже описано, как скачать файл проверка sum и проверить двоичный файл установки .NET:

The github release notes version table for .NET

  1. Страница заметок о выпуске для .NET 8 на сайте GitHub https://github.com/dotnet/core/tree/main/release-notes/8.0 содержит раздел с именем «Выпуски«. Таблица в этом разделе ссылается на скачиваемые файлы и файлы проверка sum для каждого выпуска .NET 8:
  2. Выберите ссылку для скачаемой версии .NET. Предыдущий раздел использовал пакет SDK для .NET 8.0.100, который находится в выпуске .NET 8.0.0.

Совет Если вы не уверены, какой выпуск .NET содержит файл проверка sum, изучите ссылки, пока не найдете его.

The download table with checksums for .NET

  • На странице выпуска можно увидеть версию пакета SDK для .NET и .NET, а также ссылку на файл проверка sum:
  • Скопируйте ссылку на файл проверка sum.
  • Используйте следующий скрипт, но замените ссылку, чтобы скачать соответствующий файл проверка sum:

    Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt 
    > (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*" True 

    Сведения о среде выполнения

    Среда выполнения используется для запуска приложений, созданных с помощью .NET. При публикации приложения автор может включить среду выполнения в его состав. В противном случае устанавливать среду выполнения будет пользователь.

    Существует три разных среды выполнения .NET, которые можно установить, однако следует установить как среду выполнения рабочего стола .NET, так и среду выполнения ASP.NET Core для обеспечения максимальной совместимости со всеми типами приложений .NET. В следующей таблице описывается, что входит в состав каждой среды выполнения:

    Включает среду выполнения .NET Включает среду выполнения рабочего стола .NET Включает ASP.NET базовую среду выполнения
    Среда выполнения .NET Да No No
    Среда выполнения рабочего стола .NET Да Да Нет
    ASP.NET базовая среда выполнения No No Да

    В следующем списке содержатся сведения о каждой среде выполнения:

    • Среда выполнения рабочего стола
      Используется для запуска классических приложений .NET WPF и Windows Forms для Windows. Включает среду выполнения .NET.
    • ASP.NET базовая среда выполнения
      Используется для запуска приложений ASP.NET Core.
    • Среда выполнения .NET
      Простейшая среда выполнения, в состав которой не входят какие-либо другие среды выполнения. Установите ASP.NET Core Runtime и Desktop Runtime для обеспечения оптимальной совместимости с приложениями .NET.

    Сведения о пакете SDK

    Пакет SDK используется для создания и публикации приложений и библиотек .NET. Установка пакета SDK включает все три среды выполнения: ASP.NET Core, Desktop и .NET.

    Компьютеры Windows на базе ARM

    В следующих разделах описываются аспекты, которые следует учитывать при установке .NET на компьютере Windows на базе ARM.

    Поддерживаемые возможности

    В следующей таблице описаны версии .NET, поддерживаемые на компьютерах Windows на базе ARM:

    Версия .NET Архитектура SDK Параметры выполнения Конфликт путей
    8 Arm64 Да Да Нет
    8 x64 Да Да Нет
    7 Arm64 Да Да Нет
    7 x64 Да Да Нет
    6 Arm64 Да Да Нет
    6 x64 Да Да Нет
    5 Arm64 Да Да Да
    5 x64 No Да Да

    Версии пакета SDK для .NET 64 и Arm64 существуют независимо друг от друга. Если выпущена новая версия, необходимо обновить каждую установку архитектуры.

    Различия в путях

    На компьютере с Windows на основе Arm все версии Arm64 .NET устанавливаются в обычную папку C:\Program Files\dotnet\ . Однако версия пакета SDK для .NET установлена в папку C:\Program Files\dotnet\x64\.

    Конфликты путей

    Пакет SDK для x64 .NET устанавливается в собственный каталог, как описано в предыдущем разделе. Это позволяет существовать на одном компьютере версии пакета SDK для .NET для Arm64 и x64. Однако любой пакет SDK x64 до 6 не поддерживается и устанавливается в то же расположение, что и версия Arm64 , папка C:\Program Files\dotnet\ . Если вы хотите установить неподдерживаемый пакет SDK x64, сначала необходимо удалить версию Arm64. Наоборот, необходимо удалить неподдерживаемый пакет SDK x64 для установки версии Arm64.

    Переменные пути

    Переменные среды, добавляющие .NET в системный PATH путь, например переменную, могут быть изменены, если установлены версии пакета SDK для .NET для x64 и Arm64. Кроме того, некоторые средства полагаются на DOTNET_ROOT переменную среды, которая также должна быть обновлена, чтобы указать соответствующую папку установки пакета SDK для .NET.

    Зависимости

    В .NET 8 поддерживаются следующие версии Windows:

    Символ + представляет минимальную версию.

    ОС Версия Архитектуры
    Windows 11 22000+ x64, x86, ARM64
    Клиент Windows 10 1607+ x64, x86, ARM64
    Windows Server 2012+ x64, x86
    Windows Server Core 2012+ x64, x86
    Nano Server 1809+ x64

    Дополнительные сведения о поддерживаемых операционных системах, дистрибутивах и политике жизненного цикла .NET 8 см . в поддерживаемых версиях ОС .NET 8.

    В .NET 7 поддерживаются следующие версии Windows:

    Символ + представляет минимальную версию.

    ОС Версия Архитектуры
    Windows 11 21H2+ x64, ARM64
    Клиент Windows 10 1607+ x64, x86, ARM64
    Windows Server 2012+ x64, x86
    Windows Server Core 2012+ x64, x86
    Nano Server 1809+ x64

    Дополнительные сведения о поддерживаемых операционных системах, дистрибутивах и политике жизненного цикла .NET 7 см . в поддерживаемых версиях ОС .NET 7.

    .NET 6 поддерживает следующие версии Windows:

    Символ + представляет минимальную версию.

    ОС Версия Архитектуры
    Windows 11 21H2+ x64, ARM64
    Клиент Windows 10 1607+ x64, x86, ARM64
    Клиент Windows 7 с пакетом обновления 1 и более поздних версий (SP1+), 8.1 x64, x86
    Windows Server 2012+ x64, x86
    Windows Server Core 2012+ x64, x86
    Nano Server 1809+ x64

    Дополнительные сведения об операционных системах, дистрибутивах и политике жизненного цикла, поддерживаемых .NET 6, см. в статье Поддерживаемые .NET 6 версии ОС.

    Автономная установка для Windows 7

    Этот раздел относится только к .NET Core 2.1.

    При автономной установке для .NET Core 2.1 в Windows 7 убедитесь, что на целевом компьютере установлен последний корневой центр сертификации Майкрософт 2011 .

    Средство certmgr.exe позволяет автоматизировать установку сертификата и его получение из Visual Studio или Windows SDK. Следующая команда используется для установки сертификата перед запуском установщика платформы .NET Core 2.1:

    certmgr.exe /add MicRooCerAut2011_2011_03_22.crt /s /r localMachine root 

    Обязательно ознакомьтесь с зависимостями ниже, необходимыми для Windows 7.

    Windows 7 / 8.1 / Server 2012

    При установке пакета SDK для .NET или среды выполнения .NET в следующих версиях Windows требуются дополнительные зависимости:

    Операционная система Необходимые компоненты
    Windows 7 с пакетом обновления 1 (SP1), ESU – Распространяемый компонент Microsoft Visual C++ 2015–2019, 64-разрядный / 32-разрядный
    – Обновление KB3063858, 64-разрядное / 32-разрядное
    — Центр корневой сертификации Microsoft 2011 (только удаленный установщик .NET Core 2.1)
    Windows 8.1 Распространяемый компонент Microsoft Visual C++ 2015–2019, 64-разрядный / 32-разрядный
    Windows Server 2012 Распространяемый компонент Microsoft Visual C++ 2015–2019, 64-разрядный / 32-разрядный
    Windows Server 2012 R2 Распространяемый компонент Microsoft Visual C++ 2015–2019, 64-разрядный / 32-разрядный

    Приведенные выше требования также применяются, если возникает ошибка, связанная с любой из следующих библиотек DLL:

    • api-ms-win-crt-runtime-l1-1-0.dll
    • api-ms-win-cor-timezone-l1-1-0.dll
    • hostfxr.dll

    Docker

    Контейнеры обеспечивают простой способ изоляции приложения от остальной части основной системы. Контейнеры на одном компьютере совместно использую только ядро, а также используют ресурсы, которые передаются в приложение.

    .NET можно выполнять в контейнере Docker. Официальные образы Docker для .NET публикуются в реестре контейнеров Microsoft (MCR), и доступ к ним можно получить в репозитории Microsoft .NET Docker Hub. Каждый репозиторий содержит рабочие образы для разных сочетаний .NET (пакета SDK или среды выполнения) и операционной системы.

    Корпорация Майкрософт предоставляет образы, которые предназначены для конкретных сценариев. Например репозиторий ASP.NET Core содержит образы, которые предназначены для запуска приложений ASP.NET Core в рабочей среде.

    Дополнительные сведения об использовании .NET в контейнере Docker см. в статьях Введение в .NET и Docker и Примеры.

    Устранение неполадок

    После установки пакета SDK для .NET могут возникнуть проблемы, связанные с выполнением команд .NET CLI. В этом разделе собираются распространенные проблемы и предоставляются решения.

    Пакет SDK для .NET не найден

    Скорее всего, вы установили версии x86 (32-разрядная версия) и x64 (64-разрядная версия пакета SDK для .NET). Это приводит к конфликту, так как при выполнении dotnet команды она разрешается в версию x86, когда она должна разрешаться в версию x64. Обычно это исправлено путем настройки переменной %PATH% , чтобы сначала разрешить версию x64.

      Убедитесь, что установлены обе версии, выполнив where.exe dotnet команду. Если это сделать, вы увидите запись для папок Program Files\ и Program Files (x86)\ . Если папка Program Files (x86)\ является первой, как показано в следующем примере, это неправильно, и вы должны продолжить переход к следующему шагу.

    > where.exe dotnet C:\Program Files (x86)\dotnet\dotnet.exe C:\Program Files\dotnet\dotnet.exe 

    Если это правильно, и program Files\ первый, у вас нет проблемы, которую обсуждает этот раздел, и вы должны создать проблему с запросом справки .NET на GitHub

  • Нажмите кнопку Windows и введите «Изменить системные переменные среды» в поиск. Выберите «Изменить системные переменные среды». Windows start menu with edit environment variable
  • Откроется окно «Свойства системы» на вкладке «Дополнительно». Выберите переменные среды. The Windows system properties panel open.
  • В окне «Переменные среды» в группе системных переменных выберите строку Path* и нажмите кнопку «Изменить«. The environment variables window with user and system variables.
  • Используйте кнопки перемещения вверх и вниз, чтобы переместить запись C:\Program Files\dotnet\ выше C:\Program Files (x86)\dotnet\. The environment variables list for the system.
  • Следующие шаги

    • Проверка того, установлена ли платформа .NET.
    • Руководство. Руководство по Hello World.
    • Руководство. Создание приложения с помощью Visual Studio Code.
    • Руководство. Контейнеризация приложения .NET Core.

    Совместная работа с нами на GitHub

    Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

    Можно ли удалить папку Framework из C:\\Windows\Microsoft .NET\?

    Я хочу переустановить Microsoft NET Framework. Можно мне удалить папку Framework из Microsoft .NET папки WINDOWS.

    Лучший ответ
    Остальные ответы
    Нельзя. Программы работать не будут без этой оболочки.

    Пуск — Панель управления — Установка и удаление программ там находите и удаляете
    Потом заново ставите, а так просто папку удалить нельзя

    Марина ДемичеваПрофи (546) 12 лет назад

    через установку и удаление не удаляется. пишет: ошибка. не могу заново поставить эту программу, пишут: «Не найден файл. «

    удаляй. а зачем?
    не трогай ничего в этой папке
    Тупость не трогайте
    Похожие вопросы
    Ваш браузер устарел

    Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

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

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