Azure / Azure/azure-functions-dotnet-extensions

Error during startup when using SignalR.Client

Open
#64 1 comment 0 reactions 1 assignee Claimed by @soninaren View on GitHub
Needs: Triage (Functions)
Dominant language
C#
Stars
81
Forks
50
PR merge metrics
No merged PRs in 30d

Description

I have this Function that it's working and now I need to install `Microsoft.AspNetCore.SignalR.Client` as dependency. The problem is that after install and do all the settings, I'm not able to run the Function.

**This is how I'm running**
```
CLI_DEBUG=1 func start --functions MyHttpTrigger --csharp --verbose
```

**The error I'm getting**
```
[2021-09-10T14:39:16.812Z] A host error has occurred during startup operation 'b567a982-7518-4be4-ac01-a800c7ca491e'.
[2021-09-10T14:39:16.813Z] System.MissingMethodException: Method not found: 'Microsoft.Extensions.Logging.ILoggingBuilder Microsoft.Extensions.Logging.ConsoleLoggerExtensions.AddConsole(Microsoft.Extensions.Logging.ILoggingBuilder)'.
[2021-09-10T14:39:16.813Z] at Startup.<>c.b__0_0(ILoggingBuilder options)
[2021-09-10T14:39:16.813Z] at Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(IServiceCollection services, Action`1 configure)
[2021-09-10T14:39:16.813Z] at Startup.Configure(IFunctionsHostBuilder builder) in /Users/.../Startup.cs:line 29
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.Functions.Extensions.DependencyInjection.FunctionsStartup.Configure(IWebJobsBuilder builder)
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.WebJobs.WebJobsBuilderExtensions.ConfigureStartup(IWebJobsStartup startup, WebJobsBuilderContext context, IWebJobsBuilder builder) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Hosting\WebJobsBuilderExtensions.cs:line 168
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.WebJobs.WebJobsBuilderExtensions.ConfigureAndLogUserConfiguredServices(IWebJobsStartup startup, WebJobsBuilderContext context, IWebJobsBuilder builder, ILoggerFactory loggerFactory) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Hosting\WebJobsBuilderExtensions.cs:line 131
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.WebJobs.WebJobsBuilderExtensions.UseWebJobsStartup(IWebJobsBuilder builder, Type startupType, WebJobsBuilderContext context, ILoggerFactory loggerFactory) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Hosting\WebJobsBuilderExtensions.cs:line 118
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.WebJobs.WebJobsBuilderExtensions.UseExternalStartup(IWebJobsBuilder builder, IWebJobsStartupTypeLocator startupTypeLocator, WebJobsBuilderContext context, ILoggerFactory loggerFactory) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Hosting\WebJobsBuilderExtensions.cs:line 211
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.WebJobs.Script.ScriptHostBuilderExtensions.<>c__DisplayClass7_0.b__1(HostBuilderContext context, IWebJobsBuilder webJobsBuilder) in D:\a\1\s\src\WebJobs.Script\ScriptHostBuilderExtensions.cs:line 207
[2021-09-10T14:39:16.813Z] at Microsoft.Extensions.Hosting.WebJobsHostBuilderExtensions.<>c__DisplayClass5_0.b__1(HostBuilderContext context, IServiceCollection services) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Hosting\WebJobsHostBuilderExtensions.cs:line 56
[2021-09-10T14:39:16.813Z] at Microsoft.Extensions.Hosting.HostBuilder.CreateServiceProvider()
[2021-09-10T14:39:16.813Z] at Microsoft.Extensions.Hosting.HostBuilder.Build()
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.WebJobs.Script.WebHost.DefaultScriptHostBuilder.BuildHost(Boolean skipHostStartup, Boolean skipHostConfigurationParsing) in D:\a\1\s\src\WebJobs.Script.WebHost\DefaultScriptHostBuilder.cs:line 59
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsScriptHostService.BuildHost(Boolean skipHostStartup, Boolean skipHostJsonConfiguration) in D:\a\1\s\src\WebJobs.Script.WebHost\WebJobsScriptHostService.cs:line 542
[2021-09-10T14:39:16.813Z] at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsScriptHostService.UnsynchronizedStartHostAsync(ScriptHostStartupOperation activeOperation, Int32 attemptCount, JobHostStartupMode startupMode) in D:\a\1\s\src\WebJobs.Script.WebHost\WebJobsScriptHostService.cs:line 244
System.ArgumentNullException: Value cannot be null. (Parameter 'provider')
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Azure.Functions.Cli.Actions.HostActions.StartHostAction.RunAsync() in D:\a\1\s\src\Azure.Functions.Cli\Actions\HostActions\StartHostAction.cs:line 325
at Azure.Functions.Cli.ConsoleApp.RunAsync[T](String[] args, IContainer container) in D:\a\1\s\src\Azure.Functions.Cli\ConsoleApp.cs:line 66
```

**Setup.cs**
```
[assembly: FunctionsStartup(typeof(PremiumAds.Jobs.Functions.Startup))]

namespace PremiumAds.Jobs.Functions
{
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
string connection = Environment.GetEnvironmentVariable("SqlConnectionString");

builder.Services.AddLogging(options => options.AddConsole());

builder.Services.AddDbContext(options => options.UseSqlServer(connection), ServiceLifetime.Transient);

builder.Services.AddTransient((container) =>
{
var context = container.GetService();
var stack = container.GetRequiredService>();
return new StackService(stack, new StackConfiguration(context), null);
});
}
}
}
```

**My Function**
```
[FunctionName("MyHttpTrigger")]
public async Task Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req, ILogger log)
{
await SignalRService.Publish("test title", "test message");
return HttpEmptyResponse();
}
```

**Service**
```
public static class SignalRService
{
public static async Task Publish(string title, string message)
{
var connection = new HubConnectionBuilder()
.WithUrl("...")
.Build();

await connection.StartAsync();

await connection.InvokeAsync("Test", title, message);
}
}
```

**.csproj**
```

```

https://stackoverflow.com/questions/69161049

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.