public static void AddViewHotReload(this IDotvvmServiceCollection services) { services.Services.AddSignalR(); services.Services.AddSingleton <IMarkupFileChangeNotifier, AspNetCoreMarkupFileChangeNotifier>(); services.Services.AddSingleton <IMarkupFileLoader, HotReloadAggregateMarkupFileLoader>(); services.Services.Configure <DotvvmConfiguration>(RegisterResources); services.Services.AddTransient <ResourceManager>(provider => { var manager = new ResourceManager(provider.GetRequiredService <DotvvmResourceRepository>()); manager.AddRequiredResource("dotvvm-viewhotreload"); return(manager); }); }