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

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

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


当前回答

I had this problem. Signing in or pressing the "Check for an updated license" link did not work for me. My solution was to restart Visual Studio, try again (sign in and check for license). Restart Visual Studio, try again. I had to do this several times and then it worked! (I also tried pressing the "File" menu that is available for a short period of time before the annoying request window appears again.) Maybe you just don't get connected to the server or the server itself doesn't update its database fast enough.

其他回答

重要声明:以下信息仅供学习之用!延长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。

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

我正在使用Visual Studio Professional授权的MAPS动作包订阅。由于微软合作伙伴中心的新版本必须将订阅用户添加到合作伙伴福利软件中。

合作伙伴中心->福利->Visual Studio订阅->添加用户

在那之后,一个人必须退出,并重新输入凭证在VS的帐户设置。

对我来说,问题实际上是我把机器弄坏了。配置和看起来像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社区版是免费的。你只需要用你的微软账户登录,一切就会恢复正常。