diff --git a/src/DefaultBuilder/DefaultBuilder.slnf b/src/DefaultBuilder/DefaultBuilder.slnf index 1f2d25e3a749e30214f81df7c20420a9d43370b6..f91041934fa979dce92ca1321c47720a0a33fe72 100644 --- a/src/DefaultBuilder/DefaultBuilder.slnf +++ b/src/DefaultBuilder/DefaultBuilder.slnf @@ -17,8 +17,14 @@ "src\\Http\\Http.Features\\src\\Microsoft.AspNetCore.Http.Features.csproj", "src\\Http\\Http\\src\\Microsoft.AspNetCore.Http.csproj", "src\\Http\\WebUtilities\\src\\Microsoft.AspNetCore.WebUtilities.csproj", + "src\\Middleware\\ResponseCaching.Abstractions\\src\\Microsoft.AspNetCore.ResponseCaching.Abstractions.csproj", "src\\Middleware\\StaticFiles\\src\\Microsoft.AspNetCore.StaticFiles.csproj", - "src\\ObjectPool\\src\\Microsoft.Extensions.ObjectPool.csproj" + "src\\Mvc\\Mvc.Abstractions\\src\\Microsoft.AspNetCore.Mvc.Abstractions.csproj", + "src\\Mvc\\Mvc.ApiExplorer\\src\\Microsoft.AspNetCore.Mvc.ApiExplorer.csproj", + "src\\Mvc\\Mvc.Core\\src\\Microsoft.AspNetCore.Mvc.Core.csproj", + "src\\ObjectPool\\src\\Microsoft.Extensions.ObjectPool.csproj", + "src\\Security\\Authentication\\Core\\src\\Microsoft.AspNetCore.Authentication.csproj", + "src\\Security\\Authorization\\Policy\\src\\Microsoft.AspNetCore.Authorization.Policy.csproj" ] } } \ No newline at end of file diff --git a/src/DefaultBuilder/src/Microsoft.AspNetCore.csproj b/src/DefaultBuilder/src/Microsoft.AspNetCore.csproj index 2c66a8407db39d929b2df0c46746a4466c5ad027..5c25bdc36b740853507954ba664f6c34df0499c2 100644 --- a/src/DefaultBuilder/src/Microsoft.AspNetCore.csproj +++ b/src/DefaultBuilder/src/Microsoft.AspNetCore.csproj @@ -18,6 +18,7 @@ <Reference Include="Microsoft.AspNetCore.Server.IIS" /> <Reference Include="Microsoft.AspNetCore.Server.IISIntegration" /> <Reference Include="Microsoft.AspNetCore.Server.Kestrel" /> + <Reference Include="Microsoft.AspNetCore.Mvc.ApiExplorer" /> <Reference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" /> <Reference Include="Microsoft.Extensions.Configuration.FileExtensions" /> <Reference Include="Microsoft.Extensions.Configuration.Json" /> diff --git a/src/DefaultBuilder/src/WebHost.cs b/src/DefaultBuilder/src/WebHost.cs index 284c5a64a8594486e8a09ba16668d70f0412637a..16f7d29c60c370628db37f719faa8e0dcd7ab8f6 100644 --- a/src/DefaultBuilder/src/WebHost.cs +++ b/src/DefaultBuilder/src/WebHost.cs @@ -259,6 +259,7 @@ namespace Microsoft.AspNetCore } services.AddRouting(); + services.AddEndpointsApiExplorer(); }) .UseIIS() .UseIISIntegration(); diff --git a/src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebApplicationTests.cs b/src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebApplicationTests.cs index edd70f7568b83f3bf235880ed180fff728deb559..622395bdcf40810ef07cf1a079f886f494aaa113 100644 --- a/src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebApplicationTests.cs +++ b/src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebApplicationTests.cs @@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting.Server; using Microsoft.AspNetCore.Hosting.Server.Features; using Microsoft.AspNetCore.Http.Features; +using Microsoft.AspNetCore.Mvc.ApiExplorer; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.TestHost; using Microsoft.AspNetCore.Testing; @@ -269,6 +270,14 @@ namespace Microsoft.AspNetCore.Tests Assert.NotNull(linkGenerator); } + [Fact] + public void WebApplicationCreate_RegistersApiExplorerForEndpoints() + { + var app = WebApplication.Create(); + var apiDescriptionProvider = app.Services.GetService(typeof(IApiDescriptionProvider)); + Assert.NotNull(apiDescriptionProvider); + } + [Fact] public void WebApplicationCreate_RegistersEventSourceLogger() { diff --git a/src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebHostTests.cs b/src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebHostTests.cs index ec0d57a0e47e995efd4e24e2a0df83757fbff57f..c95cb25ec6ea3f5a06e7f5a18b8908ae898bdd3b 100644 --- a/src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebHostTests.cs +++ b/src/DefaultBuilder/test/Microsoft.AspNetCore.Tests/WebHostTests.cs @@ -11,6 +11,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.HostFiltering; using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc.ApiExplorer; using Microsoft.AspNetCore.Routing; using Microsoft.AspNetCore.TestHost; using Microsoft.AspNetCore.Testing; @@ -99,6 +100,17 @@ namespace Microsoft.AspNetCore.Tests Assert.NotNull(linkGenerator); } + [Fact] + public void CreateDefaultBuilder_RegistersApiExplorer() + { + var host = WebHost.CreateDefaultBuilder() + .Configure(_ => { }) + .Build(); + + var apiDescriptionProvider = host.Services.GetService(typeof(IApiDescriptionProvider)); + Assert.NotNull(apiDescriptionProvider); + } + [Fact] public void CreateDefaultBuilder_RegistersEventSourceLogger() {