diff --git a/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs b/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs index e162cc07d5..f95de3279a 100644 --- a/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs +++ b/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs @@ -25,8 +25,8 @@ namespace Microsoft.AspNet.Hosting.Startup { var methodNameWithEnv = string.Format(CultureInfo.InvariantCulture, methodName, environmentName); var methodNameWithNoEnv = string.Format(CultureInfo.InvariantCulture, methodName, ""); - var methodInfo = startupType.GetTypeInfo().GetDeclaredMethod(methodNameWithEnv) - ?? startupType.GetTypeInfo().GetDeclaredMethod(methodNameWithNoEnv); + var methodInfo = startupType.GetMethod(methodNameWithEnv, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static) + ?? startupType.GetMethod(methodNameWithNoEnv, BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static); if (methodInfo == null) { if (required) diff --git a/test/Microsoft.AspNet.Hosting.Tests/Fakes/Startup.cs b/test/Microsoft.AspNet.Hosting.Tests/Fakes/Startup.cs index e657841566..efcb11537a 100644 --- a/test/Microsoft.AspNet.Hosting.Tests/Fakes/Startup.cs +++ b/test/Microsoft.AspNet.Hosting.Tests/Fakes/Startup.cs @@ -9,7 +9,7 @@ using System; namespace Microsoft.AspNet.Hosting.Fakes { - public class Startup + public class Startup : StartupBase { public Startup() { diff --git a/test/Microsoft.AspNet.Hosting.Tests/Fakes/StartupBase.cs b/test/Microsoft.AspNet.Hosting.Tests/Fakes/StartupBase.cs new file mode 100644 index 0000000000..e9daa9584d --- /dev/null +++ b/test/Microsoft.AspNet.Hosting.Tests/Fakes/StartupBase.cs @@ -0,0 +1,20 @@ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. +// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. + +using Microsoft.Framework.DependencyInjection; + +namespace Microsoft.AspNet.Hosting.Fakes +{ + public class StartupBase + { + public void ConfigureBaseClassServices(IServiceCollection services) + { + services.AddOptions(); + services.Configure(o => + { + o.Configured = true; + o.Environment = "BaseClass"; + }); + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs b/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs index 43e9c13eee..188333960a 100644 --- a/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs +++ b/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs @@ -43,6 +43,7 @@ namespace Microsoft.AspNet.Hosting.Tests [InlineData("StaticProvider")] [InlineData("Provider")] [InlineData("ProviderArgs")] + [InlineData("BaseClass")] public void StartupClassAddsConfigureServicesToApplicationServices(string environment) { var services = HostingServices.Create().BuildServiceProvider();