From 95bafc1f8d8b41e7dbc4f1efa09fc7c7d724f25c Mon Sep 17 00:00:00 2001 From: Anders-Toegersen Date: Tue, 17 Feb 2026 19:11:35 +0100 Subject: [PATCH 1/3] publish: prerelease 1.0.1 --- Directory.Build.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Build.props b/Directory.Build.props index 808abc1..d138994 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -21,7 +21,7 @@ - 1.0.0 + 1.0.1 prerelease From 6d133fda6513f5df4c184a3fa1bb20cfc9c7fc59 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 09:11:24 +0000 Subject: [PATCH 2/3] Initial plan From 5f03db5851fbd320d495803d3124114bac13a70a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Feb 2026 09:19:13 +0000 Subject: [PATCH 3/3] Add validation to UseDisabledWhen to ensure it's called after ConfigureFunctionsWebApplication Co-authored-by: Anders-Toegersen <54847232+Anders-Toegersen@users.noreply.github.com> --- .../IFunctionsWorkerApplicationBuilderExtensions.cs | 12 ++++++++++++ .../AppBuilderStartupTests.cs | 1 + 2 files changed, 13 insertions(+) diff --git a/src/AzureFunctions.DisabledWhen/IFunctionsWorkerApplicationBuilderExtensions.cs b/src/AzureFunctions.DisabledWhen/IFunctionsWorkerApplicationBuilderExtensions.cs index af665bf..155b91b 100644 --- a/src/AzureFunctions.DisabledWhen/IFunctionsWorkerApplicationBuilderExtensions.cs +++ b/src/AzureFunctions.DisabledWhen/IFunctionsWorkerApplicationBuilderExtensions.cs @@ -9,6 +9,18 @@ public static class IFunctionsWorkerApplicationBuilderExtensions { public static void UseDisabledWhen(this IFunctionsWorkerApplicationBuilder builder) { + // Validate that an underlying IFunctionMetadataProvider is already registered + // This is typically done by ConfigureFunctionsWebApplication() or ConfigureFunctionsWorkerDefaults() + var hasUnderlyingProvider = builder.Services.Any(descriptor => + descriptor.ServiceType == typeof(IFunctionMetadataProvider)); + + if (!hasUnderlyingProvider) + { + throw new InvalidOperationException( + "UseDisabledWhen() must be called after ConfigureFunctionsWebApplication() or ConfigureFunctionsWorkerDefaults(). " + + "No underlying IFunctionMetadataProvider was found in the service collection."); + } + builder.Services.AddSingleton(); } } \ No newline at end of file diff --git a/tests/AzureFunctions.DisabledWhen.Tests/AppBuilderStartupTests.cs b/tests/AzureFunctions.DisabledWhen.Tests/AppBuilderStartupTests.cs index 7dc7864..248434d 100644 --- a/tests/AzureFunctions.DisabledWhen.Tests/AppBuilderStartupTests.cs +++ b/tests/AzureFunctions.DisabledWhen.Tests/AppBuilderStartupTests.cs @@ -89,4 +89,5 @@ await testHost.StartAsync(new Dictionary await Assert.That(functionNames).Contains("AlwaysEnabled"); await Assert.That(functionNames).DoesNotContain("RequiresApiKey"); } + }