Visual Studio Code本地运行.NET 8 Azure Function遇gRPC URI解析错误
解决.NET 8 Isolated Azure Functions本地运行gRPC URI解析错误
这个错误是因为本地运行时无法正确解析gRPC通道的URI,通常和工具版本、配置缺失或格式错误有关。以下是几个可行的解决方法:
1. 更新Azure Functions Core Tools到兼容版本
.NET 8 Isolated模式需要较新版本的Core Tools支持,确保你的版本不低于4.0.5700:
- 打开终端执行:
func --version查看当前版本 - 如果版本过低,按以下方式更新:
- Windows:使用Chocolatey执行
choco update azure-functions-core-tools - macOS:使用Homebrew执行
brew upgrade azure-functions-core-tools - 其他系统:直接下载对应安装包覆盖安装
- Windows:使用Chocolatey执行
2. 检查并修正local.settings.json配置
确保配置文件中包含正确的运行时设置,且无错误的gRPC URI配置:
- 打开项目根目录的
local.settings.json,确认以下键值对存在:{ "IsEncrypted": false, "Values": { "AzureWebJobsStorage": "UseDevelopmentStorage=true", "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated", "FUNCTIONS_EXTENSION_VERSION": "~4" } } - 如果文件中存在
FUNCTIONS_HOST_GRPC_URI键,删除它(让系统自动生成正确的URI),或者将其值设置为有效格式,比如"http://localhost:5001"
3. 验证launchSettings.json配置
检查项目的Properties/launchSettings.json,确保开发环境配置正确:
{ "profiles": { "My.Functions": { "commandName": "Project", "environmentVariables": { "AZURE_FUNCTIONS_ENVIRONMENT": "Development", "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated" } } } }
4. 手动指定gRPC端口运行
在终端中通过环境变量直接指定有效gRPC URI再启动项目:
- Windows:
set FUNCTIONS_HOST_GRPC_URI=http://localhost:5001 && dotnet run - Linux/macOS:
FUNCTIONS_HOST_GRPC_URI=http://localhost:5001 dotnet run
5. 清理项目缓存并重建
删除项目根目录下的bin和obj文件夹,然后执行以下命令:
dotnet clean dotnet build dotnet run
内容的提问来源于stack exchange,提问作者ShreeShivay Namastubhyam
相关产品推荐
相关产品推荐

