diff --git a/src/Microsoft.AspNet.Hosting/Program.cs b/src/Microsoft.AspNet.Hosting/Program.cs index 52d0da3911..ffc4a713d9 100644 --- a/src/Microsoft.AspNet.Hosting/Program.cs +++ b/src/Microsoft.AspNet.Hosting/Program.cs @@ -48,10 +48,8 @@ namespace Microsoft.AspNet.Hosting using (engine.Start(context)) { -#if NET45 Console.WriteLine("Started"); Console.ReadLine(); -#endif } } } diff --git a/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs b/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs index b6a40be8e2..f49dd7a3c8 100644 --- a/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs +++ b/src/Microsoft.AspNet.Hosting/Startup/StartupLoader.cs @@ -38,16 +38,21 @@ namespace Microsoft.AspNet.Hosting.Startup Type type = null; if (string.IsNullOrEmpty(typeName)) { - var typeInfo = assembly.DefinedTypes.FirstOrDefault(aType => aType.Name.Equals("Startup")); + typeName = "Startup"; + } + + // Check the most likely places first + type = assembly.GetType(typeName) ?? assembly.GetType(assembly + "." + typeName); + + if (type == null) + { + // Full scan + var typeInfo = assembly.DefinedTypes.FirstOrDefault(aType => aType.Name.Equals(typeName)); if (typeInfo != null) { type = typeInfo.AsType(); } } - else - { - type = assembly.GetType(typeName); - } if (type == null) { diff --git a/src/Microsoft.AspNet.Hosting/project.json b/src/Microsoft.AspNet.Hosting/project.json index 07acc75da3..26ca426580 100644 --- a/src/Microsoft.AspNet.Hosting/project.json +++ b/src/Microsoft.AspNet.Hosting/project.json @@ -12,6 +12,7 @@ "k10": { "dependencies": { "System.Collections": "4.0.0.0", + "System.Console": "4.0.0.0", "System.ComponentModel": "4.0.0.0", "System.Diagnostics.Debug": "4.0.10.0", "System.IO": "4.0.0.0", diff --git a/test/Microsoft.AspNet.Hosting.Tests/HostingEngineTests.cs b/test/Microsoft.AspNet.Hosting.Tests/HostingEngineTests.cs index e7e9c3a266..87220ea473 100644 --- a/test/Microsoft.AspNet.Hosting.Tests/HostingEngineTests.cs +++ b/test/Microsoft.AspNet.Hosting.Tests/HostingEngineTests.cs @@ -34,7 +34,7 @@ namespace Microsoft.AspNet.Hosting var context = new HostingContext { ServerFactory = this, - ApplicationName = "Microsoft.AspNet.Hosting.Tests.Fakes.FakeStartup, Microsoft.AspNet.Hosting.Tests" + ApplicationName = "Microsoft.AspNet.Hosting.Fakes.FakeStartup, Microsoft.AspNet.Hosting.Tests" }; var engineStart = engine.Start(context); diff --git a/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs b/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs index 1f464894d4..5f58859ab2 100644 --- a/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs +++ b/test/Microsoft.AspNet.Hosting.Tests/StartupManagerTests.cs @@ -19,7 +19,7 @@ namespace Microsoft.AspNet.Hosting var manager = services.GetService(); - var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests.Fakes.FakeStartup, Microsoft.AspNet.Hosting.Tests"); + var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Fakes.FakeStartup, Microsoft.AspNet.Hosting.Tests"); Assert.IsType(manager); Assert.NotNull(startup); @@ -34,7 +34,7 @@ namespace Microsoft.AspNet.Hosting var manager = services.GetService(); - var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Tests.Fakes.FakeStartupWithServices, Microsoft.AspNet.Hosting.Tests"); + var startup = manager.LoadStartup("Microsoft.AspNet.Hosting.Fakes.FakeStartupWithServices, Microsoft.AspNet.Hosting.Tests"); startup.Invoke(null);