diff --git a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceMonitoringServiceCollectionExtensions.cs b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceMonitoringServiceCollectionExtensions.cs index c09e4c85b75..e23d82b3c6b 100644 --- a/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceMonitoringServiceCollectionExtensions.cs +++ b/src/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring/ResourceMonitoringServiceCollectionExtensions.cs @@ -63,13 +63,17 @@ private static IServiceCollection AddResourceMonitoringInternal( this IServiceCollection services, Action configure) { - var builder = new ResourceMonitorBuilder(services); - _ = services.AddMetrics(); - + var builder = new ResourceMonitorBuilder(services); #if NETFRAMEWORK _ = builder.AddWindowsProvider(); #else + bool isSupportedOs = OperatingSystem.IsWindows() || OperatingSystem.IsLinux(); + if (!isSupportedOs) + { + return services; + } + if (OperatingSystem.IsWindows()) { _ = builder.AddWindowsProvider(); @@ -78,10 +82,6 @@ private static IServiceCollection AddResourceMonitoringInternal( { _ = builder.AddLinuxProvider(); } - else - { - throw new PlatformNotSupportedException(); - } #endif configure.Invoke(builder);