我正在尝试使用 VS2022 运行函数项目,但出现以下错误:
在外部启动类中配置服务时出错。
在外部启动类中配置服务时出错。 Grpc.AspNetCore.Server:无法加载文件或程序集“Microsoft.AspNetCore.Routing,版本= 7.0.0.0,文化=中性,PublicKeyToken = adb9793829ddae60”。系统找不到指定的文件。
启动操作“35009c5d-73af-433c-9251-90a6bdfd8a12”期间发生主机错误。 Microsoft.Azure.WebJobs.Script:在外部启动类中配置服务时出错。 Grpc.AspNetCore.Server:无法加载文件或程序集“Microsoft.AspNetCore.Routing,版本= 7.0.0.0,文化=中性,PublicKeyToken = adb9793829ddae60”。系统找不到指定的文件。 值不能为空。 (参数“提供者”)
它要求 Microsoft.AspNetCore.Routing 版本 7.0.0.0。但这个版本不存在,并且这个库已被折旧。我在项目文件中也没有直接的 NuGet 参考。
我认为这可能是 VS2022 的环境问题,因为同一个项目在同事的机器上运行。我尝试更新 VS2022(至版本 17.12.3)并更新所有 NuGet 包。
我还尝试删除我的本地存储库并重新克隆。
我还尝试包含 Microsoft.AspNetCore.Routing 包,尽管它已被弃用。
在外部启动类中配置服务时出错。
在外部启动类中配置服务时出错。 Grpc.AspNetCore.Server:无法加载文件或程序集“Microsoft.AspNetCore.Routing,版本= 7.0.0.0,文化=中性,PublicKeyToken = adb9793829ddae60”。系统找不到指定的文件。
当项目未正确构建时会出现此问题,您可以使用以下根据文档工作的命令:
然后执行以下命令:
dotnet build .\RithFunApp.csproj --configuration Release -f net7.0 -o ./output
cd output
func start
如果问题未解决,请确保将 .net 版本升级到 8 LTS 或降级到 .net6 LTS。正如有些人得到它是因为他们正在升级以将其降级为进程内功能。