diff --git a/src/Microsoft.AspNetCore/WebHost.cs b/src/Microsoft.AspNetCore/WebHost.cs
index 8c49d2eb23..987d9afd2c 100644
--- a/src/Microsoft.AspNetCore/WebHost.cs
+++ b/src/Microsoft.AspNetCore/WebHost.cs
@@ -149,12 +149,21 @@ namespace Microsoft.AspNetCore
/// The initialized .
public static IWebHostBuilder CreateDefaultBuilder(string[] args)
{
- var builder = new WebHostBuilder()
- .UseKestrel((builderContext, options) =>
+ var builder = new WebHostBuilder();
+
+ if (string.IsNullOrEmpty(builder.GetSetting(WebHostDefaults.ContentRootKey)))
+ {
+ builder.UseContentRoot(Directory.GetCurrentDirectory());
+ }
+ if (args != null)
+ {
+ builder.UseConfiguration(new ConfigurationBuilder().AddCommandLine(args).Build());
+ }
+
+ builder.UseKestrel((builderContext, options) =>
{
options.Configure(builderContext.Configuration.GetSection("Kestrel"));
})
- .UseContentRoot(Directory.GetCurrentDirectory())
.ConfigureAppConfiguration((hostingContext, config) =>
{
var env = hostingContext.HostingEnvironment;
@@ -209,11 +218,6 @@ namespace Microsoft.AspNetCore
options.ValidateScopes = context.HostingEnvironment.IsDevelopment();
});
- if (args != null)
- {
- builder.UseConfiguration(new ConfigurationBuilder().AddCommandLine(args).Build());
- }
-
return builder;
}
diff --git a/test/Microsoft.AspNetCore.FunctionalTests/WebHostFunctionalTests.cs b/test/Microsoft.AspNetCore.FunctionalTests/WebHostFunctionalTests.cs
index b882205779..4942fefb39 100644
--- a/test/Microsoft.AspNetCore.FunctionalTests/WebHostFunctionalTests.cs
+++ b/test/Microsoft.AspNetCore.FunctionalTests/WebHostFunctionalTests.cs
@@ -52,7 +52,7 @@ namespace Microsoft.AspNetCore.Tests
var applicationName = "CreateDefaultBuilderApp";
await ExecuteTestApp(applicationName, async (deploymentResult, logger) =>
{
- var response = await RetryHelper.RetryRequest(() => deploymentResult.HttpClient.GetAsync(string.Empty), logger, deploymentResult.HostShutdownToken);
+ var response = await RetryHelper.RetryRequest(() => deploymentResult.HttpClient.GetAsync(string.Empty), logger, deploymentResult.HostShutdownToken, retryCount: 5);
var responseText = await response.Content.ReadAsStringAsync();
try
@@ -79,7 +79,7 @@ namespace Microsoft.AspNetCore.Tests
var applicationName = "CreateDefaultBuilderOfTApp";
await ExecuteTestApp(applicationName, async (deploymentResult, logger) =>
{
- var response = await RetryHelper.RetryRequest(() => deploymentResult.HttpClient.GetAsync(string.Empty), logger, deploymentResult.HostShutdownToken);
+ var response = await RetryHelper.RetryRequest(() => deploymentResult.HttpClient.GetAsync(string.Empty), logger, deploymentResult.HostShutdownToken, retryCount: 5);
var responseText = await response.Content.ReadAsStringAsync();
try
diff --git a/test/TestSites/CreateDefaultBuilderApp/Program.cs b/test/TestSites/CreateDefaultBuilderApp/Program.cs
index e8b91c67c0..e0002ced01 100644
--- a/test/TestSites/CreateDefaultBuilderApp/Program.cs
+++ b/test/TestSites/CreateDefaultBuilderApp/Program.cs
@@ -35,9 +35,10 @@ namespace CreateDefaultBuilderApp
private static string GetResponseMessage(WebHostBuilderContext context, IServiceCollection services)
{
// Verify ContentRootPath set
- if (!string.Equals(Directory.GetCurrentDirectory(), context.HostingEnvironment.ContentRootPath, StringComparison.Ordinal))
+ var contentRoot = Environment.GetEnvironmentVariable("ASPNETCORE_CONTENTROOT");
+ if (!string.Equals(contentRoot, context.HostingEnvironment.ContentRootPath, StringComparison.Ordinal))
{
- return $"Current directory incorrect. Expected: {Directory.GetCurrentDirectory()} Actual: {context.HostingEnvironment.ContentRootPath}";
+ return $"ContentRootPath incorrect. Expected: {contentRoot} Actual: {context.HostingEnvironment.ContentRootPath}";
}
// Verify appsettings.json loaded
diff --git a/test/TestSites/CreateDefaultBuilderOfTApp/Startup.cs b/test/TestSites/CreateDefaultBuilderOfTApp/Startup.cs
index 2bfb0cdfe9..4d607bffc0 100644
--- a/test/TestSites/CreateDefaultBuilderOfTApp/Startup.cs
+++ b/test/TestSites/CreateDefaultBuilderOfTApp/Startup.cs
@@ -26,9 +26,10 @@ namespace CreateDefaultBuilderOfTApp
private static string GetResponseMessage(WebHostBuilderContext context, IOptions hostFilteringOptions)
{
// Verify ContentRootPath set
- if (!string.Equals(Directory.GetCurrentDirectory(), context.HostingEnvironment.ContentRootPath, StringComparison.Ordinal))
+ var contentRoot = Environment.GetEnvironmentVariable("ASPNETCORE_CONTENTROOT");
+ if (!string.Equals(contentRoot, context.HostingEnvironment.ContentRootPath, StringComparison.Ordinal))
{
- return $"Current directory incorrect. Expected: {Directory.GetCurrentDirectory()} Actual: {context.HostingEnvironment.ContentRootPath}";
+ return $"ContentRootPath incorrect. Expected: {contentRoot} Actual: {context.HostingEnvironment.ContentRootPath}";
}
// Verify appsettings.json loaded