В окне основного сервера Windows Server 2012 R2 я получаю следующие результаты:
PS C:\Users\vagrant> Get-WindowsFeature | Where-Object {$_.DisplayName -like "*.NET*"}
Display Name Name Install State
------------ ---- -------------
[ ] .NET Framework 4.5 AS-NET-Framework Removed
[ ] .NET Extensibility 3.5 Web-Net-Ext Available
[ ] .NET Extensibility 4.5 Web-Net-Ext45 Available
[ ] ASP.NET 3.5 Web-Asp-Net Available
[ ] ASP.NET 4.5 Web-Asp-Net45 Available
[ ] .NET Framework 3.5 Features NET-Framework-Features Available
[ ] .NET Framework 3.5 (includes .NET 2.0 and 3.0) NET-Framework-Core Removed
[X] .NET Framework 4.5 Features NET-Framework-45-Fea... Installed
[X] .NET Framework 4.5 NET-Framework-45-Core Installed
[ ] ASP.NET 4.5 NET-Framework-45-ASPNET Available
[ ] .NET Environment 3.5 WAS-NET-Environment Available
Я не Я не знаю, как интерпретировать вышеприведенный отчет . .NET framework 4.5 установлен или не установлен? Как можно «установить» «функции .NET 4.5», а «.NET 4.5» «удалить»?
Записи реестра для .net на этом же компьютере выглядят следующим образом:
На основе эта статья MSDN , предположительно, у меня установлен .NET Framework 4.5.1. Но все же, как мне интерпретировать первый отчет выше? Похоже, это говорит о том, что моя установка .NET 4.5 не завершена.
И становится еще хуже. Рассмотрим этот вывод:
PS C:\Users\vagrant> $psversiontable
Name Value
---- -----
PSVersion 4.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.33440
BuildVersion 6.3.9600.16384
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion 2.2
Похоже, он конфликтует с обоими отчетами выше. : (
.NET 4.5 jest zainstalowany. W przeciwnym razie nie zostanie wyświetlona wersja CLR 4.0.30319.33440 ani wersja PS 4.0.
Kolejna weryfikacja, którą możesz wykonać:
[console]::WriteLine([Environment]::Version)
Jeśli interesuje Cię stan instalacji „Usunięto” i sposób przywrócenia ładunku:
Opcje instalacji systemu Windows Server 2012 R2 i funkcje na żądanie (część 5 z 5)
„Gdy ładunek funkcji jest usuwany z instalacji, jest on usuwany z magazynu równoległego w% SystemDrive%: \ Windows \ WinSxS.”
Если вы запустите Get-WindowsFeatures без фильтра, вы увидите, что "AS-Net-Features" является частью "Сервера приложений". Как говорит Саймон Саймон, она нужна только в том случае, если вы размещаете приложения на этом сервере, а не для запуска .NET-приложений. NET-Framework-Core - это собственно .NET-фреймворк, который установлен.
$PSVersionTable.PSversion перечисляет установленную версию PowerShell, а не .NET-фреймворк. PowerShell является частью Windows Management Framework (WMF), каждая версия которого имеет зависимость от версии .NET Framework, но они не похожи на .NET Framework. Например, WMF 5 нужен .NET 4.5 или выше.
Что касается того, какая версия .NET Framework у вас установлена, это неполная картина. Она говорит нам о том, что у вас установлен .NET 4.5.1 (который поставляется с Windows), который удовлетворяет любым требованиям .NET 4.0 - 4.5.1. Также это говорит нам о том, что у вас нет .NET Framework 3.5, благодаря чему вы получаете и более низкую версию поддержки .NET Framework. Однако, с тех пор было выпущено несколько .NET Framework (4.5.2, 4.6 и 4.6.1), и если бы вы их установили, они были бы в списке установленных программ, а не в Windows Features.
Есть инструмент, который я на самом деле только что нашел, который может помочь определить, какая версия находится на данной системе, хотя, будучи графической программой с графическим интерфейсом, я не уверен, что это поможет при установке Server Core. Она называется .NET Framework Setup Verification Tool и может быть найдена здесь: https://blogs.msdn.microsoft.com/astebner/2008/10/13/net-framework-setup-verification-tool-users-guide/