如何获取Microsoft.TeamFoundation.DistributedTask.Task.Deployment.dll的最新版本?

时间:2019-09-11 14:43:40

标签: azure-devops

在哪里可以下载Microsoft.TeamFoundation.DistributedTask.Task.Deployment.dll的最新版本以在Azure DevOps上发布?

2 个答案:

答案 0 :(得分:0)

Microsoft-hosted agents会定期更新,以确保将最新且适用的软件映像应用于代理。

如果要使用最新版本的软件在DevOps上运行相关的管道任务,则可以在所使用的代理上安装最新的软件。

如果您使用的代理是私有代理,则需要在代理计算机上手动安装或升级所需的所有软件。通过从Internet下载最新的软件包或使用相关命令来安装/升级软件。

有关详细信息,您可以参考此case

答案 1 :(得分:0)

为使其他SO用户在检查此票证时可以清楚地了解有关此问题的更多详细信息,我添加了与该票证相关的以下票证:

SO论坛:Register-Environment Failing

DC论坛:Where to download latest versions of deployment utilities for azure pipeline tasks?


当您使用需要/导入AzureFileCopy V1.*文件的任务(例如Microsoft.TeamFoundation.DistributedTask.Task.Deployment.dll)时,无论您使用的代理是托管代理还是私有代理,其版本始终为<任务的“强”>“最新” 版本,因为这些dll文件全部存在,具体取决于任务。


根据您在DC论坛ticket中共享的内容:

  

我怀疑其中有一个较新的版本   的注册环境,因为我的PowerShell版本   模块,以下行无法声明我缺少参数,   专门是“ taskContext”。

由于Microsoft.TeamFoundation.DistributedTask.Task.Deployment.dll文件的配置而导致的错误。我们没有在其中定义参数taskContext

要对其进行检查和验证,可以在私人代理中执行PowerShellOnTargetMachines v2.*任务,然后在dll的路径中找到~\_work\_tasks\PowerShellOnTargetMachines_3b5693d4-5777-4fee-862a-bd2b7a374c68\2.0.7\DeploymentUtilities文件。而且,您可以看到其版本为16.0.0.0

然后您可以使用反编译工具(这里使用的是 Reflector )来反编译此dll文件。

enter image description here

您可以看到,在RegisterEnvironmentCmdlet的脚本块中,没有定义参数taskContext

使用PowerShellOnTargetMachines v2.*任务时,受支持的Register-Environment的参数仅包括EnvironmentNameEnvironmentSpecificationUserNamePassword,{{ 1}},WinRmProtocolTestCertificateResourceFilterProjectName

对于参数TagsList,它是仅在taskContext中使用的参数(请参见v1.* source code),在v1.*中不支持。在v1。*中,v2.*用于taskContext cmdlet,在Get-VssConnection中不再使用。这就是为什么您在v2.*任务中遇到错误消息的原因。