在服务器上安装部署 azure 代理失败:System.IO.FileNotFoundException:无法加载文件或程序集 'DotNetAgent,版本 = 1.0.0.0
Installing deployment azure agent on server fails: System.IO.FileNotFoundException: Could not load file or assembly 'DotNetAgent, Version=1.0.0.0
我不知道 SO 是否是这个问题的最佳位置,所以如果你知道更好的位置,请告诉我,我会把它移到那里。
我们在 VPS 上有一个适当的 运行 Azure Devops 部署池 运行 代理。但是我的 PAT 已过期,所以我安装了一个新代理(是的,我知道,我本可以延长我的 PAT 的到期日期,但当时我没有意识到这一点)。
但是当我通过 DevOps 提供的脚本安装代理时,我收到以下错误消息:
System.IO.FileNotFoundException: 无法加载文件或程序集 'DotNetAgent, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b69d96e75fbfca'。该系统找不到指定的文件。
文件名:'DotNetAgent, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b69d96e75fbfca'
我已经试过了:
- 更新 VPS 上的 MSBuild 工具。
- 从 VPS
中删除所有代理
- 从 DevOps 中删除我所有的 PAT,并在 DevOps 中复制脚本时生成一个新的 PAT
编辑 1
添加系统信息
Windows 服务器 2012 R2 64 位
Powershell 引擎版本 4 0 -1 -1(已使用 this)
This version detection tool 检测到我安装了这些版本的 asp.net 框架
.NET FW 2.0 SP 2 (CLR:2.0)
.NET FW 3.0 SP 2 (CLR:2.0)
.NET FW 3.5 SP 1 (CLR:2.0)
.NET FW 4.6.2 普通版 (CLR:4.0)
.NET FW 4.7 普通版 (CLR:4.0)
.NET FW 4.7.1 普通版 (CLR:4.0)
.NET FW 4.7.2 普通版 (CLR:4.0)
.NET FW 4.8 普通版 (CLR:4.0)
编辑 2 为正确的答案或引导我找到正确的解决方案增加了赏金
微软网站上说 Starting December 2019, the minimum required .NET version for build agents is 4.6.2 or higher.
您可以检查您的机器上是否安装了 .NET Framework 4.6.2 或更高版本。
请参阅以下安装本地代理的先决条件:
- Windows 7、8.1 或 10(如果使用客户端 OS)
- Windows 2008 R2 SP1 或更高版本(如果使用服务器 OS)
- PowerShell 3.0 或更高版本
- .NET Framework 4.6.2 或更高版本
查看文档 here 了解更多信息。
PAT 令牌仅在代理安装期间使用。 PAT 过期后,您无需安装新代理。请参阅 Microsoft 文档 here 中的以下注释。
注:
当使用 PAT 作为身份验证方法时,PAT 令牌仅在代理的初始配置期间使用。之后,如果 PAT 过期或需要更新,则代理不需要进一步更改。
更新:
您可以查看此 link 并尝试下载部署代理程序包的不同版本(例如旧版本)。
下载部署代理程序包后,创建一个新文件夹(例如c:/mydeployagent
),将程序包解压到该文件夹,然后运行 从powershell 命令下;
.\config.cmd --deploymentgroup --deploymentgroupname "your deployment group name" --agent $env:COMPUTERNAME --runasservice --work '_work' --url 'https://dev.azure.com/yourOrganization/' --projectname 'Your project Name'
最终我们无法修复它,也没有在 Microsoft 开发人员的帮助下。他们确实愿意更详细地研究它,但费用非常昂贵,而且不能保证成功。
所以我们最终设置了一个新的 VPS 并将我们所有的应用程序迁移到新的 VPS,现在一切都恢复正常了。就我们和我们使用的 IT 支持机构花费的时间而言,与 Microsoft 想要的只是调查它的报酬相比,这要便宜得多。
我不知道 SO 是否是这个问题的最佳位置,所以如果你知道更好的位置,请告诉我,我会把它移到那里。
我们在 VPS 上有一个适当的 运行 Azure Devops 部署池 运行 代理。但是我的 PAT 已过期,所以我安装了一个新代理(是的,我知道,我本可以延长我的 PAT 的到期日期,但当时我没有意识到这一点)。
但是当我通过 DevOps 提供的脚本安装代理时,我收到以下错误消息:
System.IO.FileNotFoundException: 无法加载文件或程序集 'DotNetAgent, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b69d96e75fbfca'。该系统找不到指定的文件。 文件名:'DotNetAgent, Version=1.0.0.0, Culture=neutral, PublicKeyToken=87b69d96e75fbfca'
我已经试过了:
- 更新 VPS 上的 MSBuild 工具。
- 从 VPS 中删除所有代理
- 从 DevOps 中删除我所有的 PAT,并在 DevOps 中复制脚本时生成一个新的 PAT
编辑 1 添加系统信息
Windows 服务器 2012 R2 64 位
Powershell 引擎版本 4 0 -1 -1(已使用 this)
This version detection tool 检测到我安装了这些版本的 asp.net 框架
.NET FW 2.0 SP 2 (CLR:2.0)
.NET FW 3.0 SP 2 (CLR:2.0)
.NET FW 3.5 SP 1 (CLR:2.0)
.NET FW 4.6.2 普通版 (CLR:4.0)
.NET FW 4.7 普通版 (CLR:4.0)
.NET FW 4.7.1 普通版 (CLR:4.0)
.NET FW 4.7.2 普通版 (CLR:4.0)
.NET FW 4.8 普通版 (CLR:4.0)
编辑 2 为正确的答案或引导我找到正确的解决方案增加了赏金
微软网站上说 Starting December 2019, the minimum required .NET version for build agents is 4.6.2 or higher.
您可以检查您的机器上是否安装了 .NET Framework 4.6.2 或更高版本。
请参阅以下安装本地代理的先决条件:
- Windows 7、8.1 或 10(如果使用客户端 OS)
- Windows 2008 R2 SP1 或更高版本(如果使用服务器 OS)
- PowerShell 3.0 或更高版本
- .NET Framework 4.6.2 或更高版本
查看文档 here 了解更多信息。
PAT 令牌仅在代理安装期间使用。 PAT 过期后,您无需安装新代理。请参阅 Microsoft 文档 here 中的以下注释。
注: 当使用 PAT 作为身份验证方法时,PAT 令牌仅在代理的初始配置期间使用。之后,如果 PAT 过期或需要更新,则代理不需要进一步更改。
更新:
您可以查看此 link 并尝试下载部署代理程序包的不同版本(例如旧版本)。
下载部署代理程序包后,创建一个新文件夹(例如c:/mydeployagent
),将程序包解压到该文件夹,然后运行 从powershell 命令下;
.\config.cmd --deploymentgroup --deploymentgroupname "your deployment group name" --agent $env:COMPUTERNAME --runasservice --work '_work' --url 'https://dev.azure.com/yourOrganization/' --projectname 'Your project Name'
最终我们无法修复它,也没有在 Microsoft 开发人员的帮助下。他们确实愿意更详细地研究它,但费用非常昂贵,而且不能保证成功。
所以我们最终设置了一个新的 VPS 并将我们所有的应用程序迁移到新的 VPS,现在一切都恢复正常了。就我们和我们使用的 IT 支持机构花费的时间而言,与 Microsoft 想要的只是调查它的报酬相比,这要便宜得多。