我们正在我们的服务器上设置持续部署,我们需要它,因此我们必须尽可能少地进行服务器自定义,以便运行的powershell脚本将安装项目所需的一切。因此,我们有一个.NET Framework 4.6.1项目,但服务器在角色和功能中只有.NET Framework 4.5。
我通常使用它来启用所有必需的东西:
Enable-WindowsOptionalFeature -online -FeatureName IIS-ISAPIFilter -NoRestart
Enable-WindowsOptionalFeature -online -FeatureName IIS-ISAPIExtensions -NoRestart
Enable-WindowsOptionalFeature -online -FeatureName NetFx4Extended-ASPNET45 -NoRestart
Enable-WindowsOptionalFeature -online -FeatureName IIS-NetFxExtensibility45 -NoRestart
Enable-WindowsOptionalFeature -online -FeatureName IIS-ASPNET45 -NoRestart
如何使用PowerShell将.NET Framework安装,升级或更新为4.6+?我没有看到任何WindowsOptionalFeatures,我在网上找到的所有东西都涉及实际下载和安装它们,而不是通过PowerShell。
答案 0 :(得分:3)
每个操作系统版本都会带来preinstalled .NET Framework的不同版本。可以使用Enable-WindowsOptionalFeature cmdlet激活预安装的版本。较新的版本需要与设置本身分开安装
<.NET Framework redistributable> /q /norestart
或某些软件分发系统。如果你想使用Powershell,你可以看看Oneget / Chocolatey作为软件分发系统。
Install-Package -Name Dotnet4.6.1
答案 1 :(得分:0)
@OlafReitz是100%正确的,随着MS继续发布版本,您需要下拉文件并从可再发行文件(或使用单独的软件分发系统)进行安装,我创建了一个PowerShell脚本,然后,我以一种自动化的方式将其处理到CD管道中:
try {
#Currently I have this pointed at .NET 4.7.2
$dotNetURL = "http://go.microsoft.com/fwlink/?LinkId=863262"
Invoke-WebRequest -Uri $dotNetURL -OutFile LatestVersionOfDotNet.exe
./LatestVersionOfDotNet.exe /quiet /norestart
}
catch {
Write-Output $_.Exception.Message
}
答案 2 :(得分:0)
我必须不同意。我正在使用在“应用程序开发”部分下的“添加角色和功能向导”中列出的.Net可扩展性4.6的服务器上,但是当我执行PowerShell“ Get-WindowsOptionalFeature -Online”列表时,该服务器不可用。 >
我正在尝试自动执行这些步骤,以在多个服务器上重复这些步骤。到目前为止,除“应用程序开发”部分以及“ .Net可扩展性4.6”和“ ASP.Net 4.6”以及“运行状况和诊断”部分和“日志记录工具”之外,所有选项均按预期方式工作。这些也没有在上面提到的“获取”命令中列出。
这是有理由的理由,如果这些选项出现在“添加功能” GUI中,则我应该能够从PowerShell安装/配置它们。尤其是无需安装其他软件包或组件。
如果有人可以证明其他情况,我很高兴知道我错过了什么。