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

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

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


当前回答

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

其他回答

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

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

对我来说,问题实际上是我把机器弄坏了。配置和看起来像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开始工作。

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

重要声明:以下信息仅供学习之用!延长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++。抱歉,出于道德原因,我没有发布现成的代码。

对我来说,这是最简单的解决方案——我只需要以管理员身份运行visual Studio。

这是小事,但我在任何地方都没有看到这一点。