原因:
自从visual studio 2013版本以后,社区版本需要登录才可以授权,一次授权为三个月,之后在次更新授权,如果您不登录将丢失授权需要登录在次操作。但visual studio 登录的时候提示联机服务不可用(The online service is not available),这个是因为TLS 没有启用的原因,需要TLS1.2才能访问。
(一)解决方法:
1、在我的电脑菜单里搜索或找到Windows PowerShell ISE并以管理员方式打开它
2、打开后新建脚本,然后复制代码脚本,启动TLS 1.2代码在下面
PowerShell脚本启用TLS 1.2
您可以使用以下PowerShell脚本执行TLS 1.2连接服务器。
If (-Not (Test-Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319')) { New-Item 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null } New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null New-ItemProperty -Path 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null If (-Not (Test-Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319')) { New-Item 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Force | Out-Null } New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SystemDefaultTlsVersions' -Value '1' -PropertyType 'DWord' -Force | Out-Null New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -PropertyType 'DWord' -Force | Out-Null If (-Not (Test-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server')) { New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Force | Out-Null } New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWord' -Force | Out-Null If (-Not (Test-Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client')) { New-Item 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Force | Out-Null } New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'Enabled' -Value '1' -PropertyType 'DWord' -Force | Out-Null New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client' -Name 'DisabledByDefault' -Value '0' -PropertyType 'DWord' -Force | Out-Null Write-Host 'TLS 1.2 has been enabled. You must restart the Windows Server for the changes to take affect.' -ForegroundColor Cyan
3、复制上面的代码放入新建脚本里,如下图
4、执行代码,按F5或点击按钮如下图
5、方法完成在注册表里插入值,重启电脑在去试试您的VS登录是否正常。
(二)解决方法:
如果方法一无法解决,那么你将使用如下方法,来吧!
1、按住Win+R打开运行工具输入regedit注册表方法,或在电脑菜单里找到【运行】并打开,如下图
2、打开注册表后是如下图
3、我们来操作怎么添加两个值,给VS实现TIL登录,如下
输入路径或找到些路径:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319
注:上面是64位系统的路径,如果您是32位系统应该为:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
如图是我的64位系统的实际路径,然后我们在此目录上操作如下
4、创建另一个名为SchUseStrongCrypto的条目并将 DWORD 值设置为1,如下图
改名了SchUseStrongCrypto,并设置其值为1
默认为00,把鼠标移动到倒数第4组00处删除掉,输入01即可,这完成第一个任务。
5、输入路径或找到此路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
6、找到后我们创建TLS 1.2值或TLS 1.0值,如下图
7、操作完成后关掉注册表即可,然后我们去VS里登录试试,如果不行请重起下电脑哦!
有什么问题可以直接在些面下沟通交流