System.InvaliOperationException: 无法解析 gRPC 通道 URI 'http://0'

System.InvaliOperationException: The gRPC channel URI 'http://0' could not be parsed

Visual Studio 2019 中使用 .NET5 Azure 函数,我从 Program.cs

System.InvaliOperationException: The gRPC channel URI 'http://0' could not be parsed

我的Program.cs如下:

public static void Main()
{
    var host = new HostBuilder()
            .ConfigureFunctionsWorkerDefaults()
            .ConfigureServices(services =>
            {
                services.AddSingleton<IConfiguration>(data =>
                {
                    var result = new ConfigurationBuilder()
                        .SetBasePath(Directory.GetCurrentDirectory())
                        .AddJsonFile("AppSettings.json", false, true)
                        .AddJsonFile($"AppSettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", true)
                        .AddEnvironmentVariables()
                        .Build();
                    return result;
                });

                services.AddSingleton<IServiceProvider, ServiceProvider>();
            })
            .UseDefaultServiceProvider(options => options.ValidateScopes = false)
            .Build();

    host.Run();
}

调试模式下 hots.Run() 抛出异常。有什么线索吗?

我的问题已经解决了。一旦我从 ConfigureAppConfiguratio 中间件设置了 IConfiguration,异常就消失了

public static void Main()
{
    var host = new HostBuilder()
                    .ConfigureFunctionsWorkerDefaults()
                    .ConfigureAppConfiguration(config =>
                    {
                        config.SetBasePath(Directory.GetCurrentDirectory())
                            .AddJsonFile("AppSettings.json", false, true)
                            .AddJsonFile(
                                $"AppSettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json",
                                true)
                            .AddEnvironmentVariables();
                    })
                    .ConfigureServices(services =>
                    {
                        
                    })
                    .UseDefaultServiceProvider(options => options.ValidateScopes = false)
                    .Build();

            host.Run();
}

对我来说,它发生在 Rider 中。问题是我 运行 Function App 作为 .Net 项目而不是 Azure Functions 主机。