Azure DevOps构建服务器激活Visual Studio 2019 Community许可证咨询
我的Azure DevOps构建服务器使用Visual Studio 2019 Community Edition构建应用时,出现以下错误:
Microsoft Visual Studio 2019 Version 16.7.7.
Copyright (C) Microsoft Corp. All rights reserved.
The license for Visual Studio has expired.
The evaluation period for this product has ended.
我用个人账号登录服务器运行VS时也会遇到相同错误,但点击“检查更新许可证”并登录微软账号完成双因素认证后,个人账号可正常使用VS。但构建服务器仍无法使用,推测仅为个人账号更新了许可证,未覆盖构建运行所用账号。
我查看微软官方文档《Automatically Apply license key》,其中提到使用StorePID工具,但该工具需要产品密钥和MPC,而据我了解Community Edition无产品密钥或MPC(若有误请指正)。请问是否有其他激活方式(如针对所有用户或特定用户),或可加入构建流水线的命令来激活许可证,使DevOps能正常使用?
解决方案
1. 为构建服务账号激活VS社区版
构建任务通常使用本地系统账号或指定服务账号运行,而非你登录的个人账号。需以构建服务账号身份完成激活:
- 若使用本地系统账号,可借助
psexec工具以该身份启动VS:- 下载并解压PsExec到服务器
- 打开命令提示符执行:
psexec -i -s "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe" - 在弹出的VS窗口中,完成“检查更新许可证”流程,登录微软账号完成认证,激活该账号下的VS
2. 命令行方式激活(可集成到构建流水线)
VS社区版支持通过命令行结合账号登录激活,可将以下步骤加入流水线的PowerShell/命令行任务:
- 重置VS用户数据,清除旧的许可证信息:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\devenv.exe" /resetuserdata - 运行VS关联服务工具完成账号登录(需确保该账号已在服务器完成过双因素认证,避免交互式操作):
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\ConnectedServices\VsConnectedServices.exe" /login <你的微软账号>
3. 确认构建服务账号权限
确保构建服务账号拥有以下权限:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community目录的读写权限- 注册表路径
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\16.0_xxxx(xxxx为VS实例ID)的访问权限
关于StorePID工具的说明
你所述正确:Visual Studio Community Edition无公开产品密钥或MPC,StorePID工具仅适用于专业版、企业版等付费版本,无法用于社区版激活。
内容的提问来源于stack exchange,提问作者komodosp

