我在我的电脑上安装了本应免费的VS Community 2017, 30天后我收到VS的消息,说我的许可证过期了。

执照吗?过期了吗?我原以为社区版是“永远免费”的,所以才打上了“社区”的标签。这是怎么呢我试着用我的outlook.com账户登录,但它说“出了问题”,然后又回到了同一个屏幕。

我如何获得一个完全免费的VS 2017版本,以便我可以在我的自由/开源软件项目中工作?


当前回答

对我来说,问题实际上是我把机器弄坏了。配置和看起来像VS不能有一个连接 我在machine.config中添加了以下代码行

<!--
<system.net>
 <defaultProxy>
  <proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
 </defaultProxy>
</system.net>
<!--
-->

将前一节替换为:

<!--
<system.net>
 <defaultProxy>
  <proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
 </defaultProxy>
</system.net>
-->

VS开始工作。

其他回答

登录后,30天的试用期就会消失!

“如果你已经登录了,注销,然后再登录。” -b1nary.atr0phy

另一个答案,当你有一台机器,你没有互联网连接,不能登录,在这里- https://dimitri.janczak.net/2019/07/13/trial-period-reset-of-visual-studio-community-edition/。

这些文件在github - https://github.com/1Dimitri/VSCELicense/releases/tag/1.0上。

从自述文件:

原有模块使用情况

下载/克隆这个存储库 以管理员身份运行PowerShell.exe 导入模块: 导入模块名称X:\PATH\TO\VSCELicense

用法:

Get Visual Studio Community Edition license expiration date
Get-VSCELicenseExpirationDate -Version VS2019
Set license expiration date to current date + 10 days
Set-VSCELicenseExpirationDate -Version VS2019 -AddDays 10

VS 17社区版是免费的。你只需要用你的微软账户登录,一切就会恢复正常。

对于VS2019,我可以用我的github账户注册:

然后它会发送密码到你的电子邮件,你就可以签名了。

重要声明:以下信息仅供学习之用!延长Visual Studio Community 2017的试用期可能是非法的!

让我们开始吧。

感兴趣的注册表项:HKEY_CLASSES_ROOT\Licenses\5C505A59-E312-4B89-9508-E162F8150517\08878。我假设08878子密钥可能因安装而异(为什么不呢,不是吗?)我只在自己的电脑上测试过。因此,如果不能匹配下面描述的正确值,请检查其他子键。存储在该密钥中的二进制值使用CryptProtectData加密。因此,首先使用CryptUnprotectData对其解密。感兴趣的字节(little-endian):

[-16],[-15]为到期年份; [-14]和[-13]是过期月份; [-12]和[-11]是过期日期。

增加这些值(最好是一年:))将延长您的试用期,并摆脱阻塞屏幕!我对这样一个允许编辑加密注册表值的工具一无所知,所以我在c++和Windows API中的小程序看起来像这样:

RegGetValue
CryptUnprotectData
Data.pbData[Data.cbData-16]++;
CryptProtectData
RegSetValue

如果您可以使用自己语言中的注册表和加密函数,那么实际的语言并不重要。我只是精通c++。抱歉,出于道德原因,我没有发布现成的代码。