我在我的电脑上安装了本应免费的VS Community 2017, 30天后我收到VS的消息,说我的许可证过期了。
执照吗?过期了吗?我原以为社区版是“永远免费”的,所以才打上了“社区”的标签。这是怎么呢我试着用我的outlook.com账户登录,但它说“出了问题”,然后又回到了同一个屏幕。
我如何获得一个完全免费的VS 2017版本,以便我可以在我的自由/开源软件项目中工作?
我在我的电脑上安装了本应免费的VS Community 2017, 30天后我收到VS的消息,说我的许可证过期了。
执照吗?过期了吗?我原以为社区版是“永远免费”的,所以才打上了“社区”的标签。这是怎么呢我试着用我的outlook.com账户登录,但它说“出了问题”,然后又回到了同一个屏幕。
我如何获得一个完全免费的VS 2017版本,以便我可以在我的自由/开源软件项目中工作?
为了绕过“30天内必须在线登录”,登录一次微软帐户,你会得到%LocalAppData%\Microsoft\VSCommon\OnlineLicensing文件夹,你可以复制到离线电脑。
A.如果您还没有登录,请登录。
B.如果已经登录,请单击帐户设置页面上的链接检查更新的许可证。
C. "We could not download a license. Please ensure your accounts are authenticated." If this message is encountered, sign out and sign back in. You can either sign out by clicking on the Sign out link and then signing back in by clicking on the account icon in the upper right corner of Visual Studio. Or you can just click the link Reenter your credentials. This link is a good indication that your account is not synced up with Microsoft servers and the error message is right in that your account is not authenticated and the license cannot be refreshed.
一旦您重新登录并成功验证了帐户,您将看到“重新输入您的凭据”链接消失了。这是一个很好的指示,表明您现在可以继续并刷新许可证了。如果没有自动完成,您可以再次单击“检查更新的许可证”链接。这一次,您将看到一个简短的确认消息,并将列出您的相关电子邮件地址。
Signing in is inevitable if you want to get rid of this annoying warning. But even if you have always been signed from day one, you may still run into this warning. Based on my experience, this may happen if you have recently changed the password for your account, or you have added 2FA (two step verification) to your account, or you have reset the recovery code for the account and with it the app passwords. It may also have to do with inactivity or the recent changes Microsoft has been making to the "sign in experience" for Microsoft accounts.
不管原因是什么,登录或退出,然后再登录似乎是解决这种烦恼的最佳方法。
重要声明:以下信息仅供学习之用!延长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++。抱歉,出于道德原因,我没有发布现成的代码。
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 Professional授权的MAPS动作包订阅。由于微软合作伙伴中心的新版本必须将订阅用户添加到合作伙伴福利软件中。
合作伙伴中心->福利->Visual Studio订阅->添加用户
在那之后,一个人必须退出,并重新输入凭证在VS的帐户设置。
重要声明:以下信息仅供学习之用!延长Visual Studio Community 2017的试用期可能是非法的!
当您删除HKEY_CLASSES_ROOT\Licenses\5C505A59-E312-4B89-9508-E162F8150517中的所有文件时,具有相同的效果。运行“Visual Studio安装程序”并选择“修复”选项。现在你有30天的试用期。但是你在你的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开始工作。
不,社区版是免费的,所以只需登录并消除警告。欲了解更多详情,请查看以下链接。 https://visualstudio.microsoft.com/vs/support/community-edition-expired-buy-license/
另一个答案,当你有一台机器,你没有互联网连接,不能登录,在这里- 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 dateGet-VSCELicenseExpirationDate -Version VS2019
Set license expiration date to current date + 10 days
Set-VSCELicenseExpirationDate -Version VS2019 -AddDays 10