I have just created a new Azure Functions project with a Queue Trigger, straight out of the box using the following tech stack, and it doesn't build, and returns an error stating that " Error CS1061: 'HostBuilder' does not contain a definition for 'ConfigureFunctionsWebApplication'".
Tech Stack
- Visual Studio for Mac (17.6.8).
- .Net 7.0
- Azure Functions v4
Here is the code where the error occurs (straight out of the box Program.cs file)
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.DependencyInjection;
var host = new HostBuilder()
.ConfigureFunctionsWebApplication() //FAILING ON THIS LINE HERE!
.ConfigureServices(services => {
services.AddApplicationInsightsTelemetryWorkerService();
services.ConfigureFunctionsApplicationInsights();
})
.Build();
host.Run();
Here is the QueueTrigger (straight out of the box):
using System;
using Azure.Storage.Queues.Models;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Extensions.Logging;
namespace AzureFunctionsDotNet7Example
{
public class QueueTriggerFunctionExample
{
private readonly ILogger<QueueTriggerFunctionExample> _logger;
public QueueTriggerFunctionExample(ILogger<QueueTriggerFunctionExample> logger)
{
_logger = logger;
}
[Function(nameof(QueueTriggerFunctionExample))]
public void Run([QueueTrigger("myqueue-items", Connection = "connection-string-goes-here")] QueueMessage message)
{
_logger.LogInformation($"C# Queue trigger function processed: {message.MessageText}");
}
}
}
Here is the .csproj file for the project, for reference:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
<OutputType>Exe</OutputType>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.Azure.Functions.Worker" Version="1.21.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Sdk" Version="1.16.4" />
<PackageReference Include="Microsoft.ApplicationInsights.WorkerService" Version="2.22.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.ApplicationInsights" Version="1.2.0" />
<PackageReference Include="Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues" Version="5.3.0" />
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.2.7" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Using Include="System.Threading.ExecutionContext" Alias="ExecutionContext" />
</ItemGroup>
</Project>
I came across this post here on StackOverflow, however this did not fix the issue (Installing NuGet Package Microsoft.AspNetCore.Hosting).
Any ideas on how to fix this? Help greatly appreciated. Many thanks.
UPDATE 1: Here is the repository on Github
UPDATE 2: Following on from the answered provided by Pravallika KV, I added all of the required missing NuGet Packages, which did indeed fix the build, but the application now fails with the following error:
"Failed to load /Users/Library/Application Support/VisualStudio/azure-functions-cli/Releases/4.67.0/cli_arm64/libhostpolicy.dylib, error: dlopen(/Users/Library/Application Support/VisualStudio/azure-functions-cli/Releases/4.67.0/cli_arm64/libhostpolicy.dylib, 0x0001): tried: '/Users/Library/Application Support/VisualStudio/azure-functions-cli/Releases/4.67.0/cli_arm64/libhostpolicy.dylib' (mach-o file, but is an incompatible architecture (have'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/Library/Application Support/VisualStudio/azure-functions-cli/Releases/4.67.0/cli_arm64/libhostpolicy.dylib' (no such file), '/Users/Library/Application Support/VisualStudio/azure-functions-cli/Releases/4.67.0/cli_arm64/libhostpolicy.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')) An error occurred while loading required library libhostpolicy.dylib from [/Users/Library/Application Support/VisualStudio/azure-functions-cli/Releases/4.67.0/cli_arm64/]"
Azure.Storage.Blobs,Azure.Storage.Files.Shares,Azure.Storage.Queues,Microsoft.Azure.Functions.Worker.Extensions.Http,Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore,Microsoft.Azure.Functions.Worker.Extensions.Storage.Queues,Microsoft.Extensions.Azure. Refer Image.Microsoft.Azure.Functions.Worker.Extensionspackage version.