代码之家  ›  专栏  ›  技术社区  ›  derekbaker783 Pxtl

tfs(on prem)build agent(on prem)在作为服务运行时未找到Visual Studio 2017功能

  •  2
  • derekbaker783 Pxtl  · 技术社区  · 6 年前

    微软VisualStudio Team Foundation Server版本16.131.28 106
    Windows代理
    agent.osversion 6.3.9600
    代理版本2.136.1

    我的TFS生成代理在作为服务运行时(在主域上的服务帐户下),未将Visual Studio 2017(Enterprise)标识为功能。同一个探员 将Visual Studio 2015作为一项功能,同时以与上述相同的帐户作为服务运行。

    我已经更新了代理,删除并重新配置了相关的生成代理,重新启动了代理服务,并重新启动了操作系统。我 注意,当首次配置此代理时,当代理在运行配置脚本的个人下运行时,功能会被短暂标识,但当代理切换到在服务帐户下运行时,VS2017功能将消失。

    注意到这一点后,我给了有问题的服务帐户对根Windows安装目录、程序文件(x86)以及与vs2017安装相关的所有目录和文件的读取和执行权限,但这没有帮助。

    如果我以交互方式运行不同的构建代理(与上面列出的版本相同),那么VS2017被认为是一种功能,因此我假设对于我尝试使用的服务帐户,我需要做一些事情。

    为了更好地衡量,在Visual Studio生成任务中,我尝试使用“最新”选项和“Visual Studio 2017”选项。我还尝试将“/p:visualstudioversion=15.0”添加到该任务的msbuild参数中。

    更新:我还尝试在“用户定义”部分直接显式地指定功能,并尝试通过在代理主机上使用环境变量来添加功能。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Setorica    6 年前

    是否确保将服务帐户用户添加为运行代理的池中的角色服务帐户? 还要确保服务帐户能够在这些本地安全策略中执行以下操作:“作为服务登录”、“作为操作系统的一部分”、“管理审核和安全日志”

    我不能说这能解决你的问题,但我知道这些在我处理的设置中是必要的。

    您还可以快速简单地测试,将您的服务帐户作为管理员添加到机器上,然后测试它是否找到vs 2017。如果是这样,那么您就知道需要设置一些特定的组和权限。