Skip to content
On this page

Integration with Blazor


No specific Blazor support has been built into Lamar, and Blazor is still an immature and rapidly-evolving framework. Use of Lamar within Blazor apps is considered experimental.

To use Lamar within Blazor applications, you need only the base Lamar NuGet package installed. Then, you can configure Blazor's host builder to use Lamar for IoC as shown below.

using System.Threading.Tasks;
using Lamar;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;

namespace Lamar.Sample.Blazor
    public class Program
        public static async Task Main(string[] args)
            var builder = WebAssemblyHostBuilder.CreateDefault(args);

            // configure Blazor to use Lamar
            builder.ConfigureContainer<ServiceRegistry>(new LamarServiceProviderFactory(), ConfigureServices);

            await builder.Build().RunAsync();

        private static void ConfigureServices(ServiceRegistry services)
            // here you can configure Lamar as normal


That's all you need; Blazor will now use Lamar for all dependency injection.