无法升级Azure Functions Core Tools,调试时遇VersionRange实例创建异常
问题:Azure Functions .NET 6本地调试触发NuGet.Versioning.VersionRange实例创建失败异常
异常信息
启动操作'dca54039-23ee-4ec2-ad9d-9deafe1b2869'期间发生主机错误。[2022-09-08T07:07:05.464Z] Microsoft.Extensions.Configuration.Binder:无法创建类型'NuGet.Versioning.VersionRange'的实例,因为它缺少公共无参构造函数。
环境差异
- 本地环境:Visual Studio 2022,Azure Functions Core Tools版本 4.0.3971
- 同事环境:Azure Functions Core Tools版本 4.0.4736(无此问题)
- 生产环境:运行正常
已执行的排查/修复操作
初始兼容调整
- 将项目配置中的
<AzureFunctionsVersion>设置为v4 - 更新所有.NET 6相关NuGet包至最新版本
- 按官方指引安装最新版Core Tools
- 添加详细日志标识,未获取有效排查信息
Core Tools版本升级尝试(命令行显示新版本,但调试仍用旧版本)
- 卸载所有相关组件后重新安装官方MSI安装包
- 在包管理器控制台执行:
npm i -g azure-functions-core-tools@4 - 使用Chocolatey卸载并重新安装Core Tools
- 重新安装Visual Studio 2022
- 以管理员权限在PowerShell执行以下命令:
PS C:\Windows\system32> npm i -g azure-functions-core-tools@4 --unsafe-perm true changed 51 packages, and audited 52 packages in 18s found 0 vulnerabilities
执行后命令行PS C:\Windows\system32> npm i -g azure-functions-core-tools@4.0.4736 --unsafe-perm true changed 51 packages, and audited 52 packages in 26s found 0 vulnerabilitiesfunc --version返回4.0.4736,但调试窗口仍显示使用4.0.3971
所有上述操作均未解决问题,寻求可行的修复方案。
内容的提问来源于stack exchange,提问作者Jon Koeter
相关产品推荐
相关产品推荐

