|
@@ -37,7 +37,9 @@ public sealed class ConfigureWebHostBuilder : IWebHostBuilder, ISupportsStartup
|
|
|
public IWebHostBuilder ConfigureAppConfiguration(Action<WebHostBuilderContext, IConfigurationBuilder> configureDelegate)
|
|
public IWebHostBuilder ConfigureAppConfiguration(Action<WebHostBuilderContext, IConfigurationBuilder> configureDelegate)
|
|
|
{
|
|
{
|
|
|
var previousContentRoot = _context.HostingEnvironment.ContentRootPath;
|
|
var previousContentRoot = _context.HostingEnvironment.ContentRootPath;
|
|
|
|
|
+ var previousContentRootConfig = _configuration[WebHostDefaults.ContentRootKey];
|
|
|
var previousWebRoot = _context.HostingEnvironment.WebRootPath;
|
|
var previousWebRoot = _context.HostingEnvironment.WebRootPath;
|
|
|
|
|
+ var previousWebRootConfig = _configuration[WebHostDefaults.WebRootKey];
|
|
|
var previousApplication = _configuration[WebHostDefaults.ApplicationKey];
|
|
var previousApplication = _configuration[WebHostDefaults.ApplicationKey];
|
|
|
var previousEnvironment = _configuration[WebHostDefaults.EnvironmentKey];
|
|
var previousEnvironment = _configuration[WebHostDefaults.EnvironmentKey];
|
|
|
var previousHostingStartupAssemblies = _configuration[WebHostDefaults.HostingStartupAssembliesKey];
|
|
var previousHostingStartupAssemblies = _configuration[WebHostDefaults.HostingStartupAssembliesKey];
|
|
@@ -46,7 +48,8 @@ public sealed class ConfigureWebHostBuilder : IWebHostBuilder, ISupportsStartup
|
|
|
// Run these immediately so that they are observable by the imperative code
|
|
// Run these immediately so that they are observable by the imperative code
|
|
|
configureDelegate(_context, _configuration);
|
|
configureDelegate(_context, _configuration);
|
|
|
|
|
|
|
|
- if (!string.Equals(HostingPathResolver.ResolvePath(previousWebRoot, previousContentRoot), HostingPathResolver.ResolvePath(_configuration[WebHostDefaults.WebRootKey], previousContentRoot), StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
|
|
+ if (!string.Equals(previousWebRootConfig, _configuration[WebHostDefaults.WebRootKey], StringComparison.OrdinalIgnoreCase)
|
|
|
|
|
+ && !string.Equals(HostingPathResolver.ResolvePath(previousWebRoot, previousContentRoot), HostingPathResolver.ResolvePath(_configuration[WebHostDefaults.WebRootKey], previousContentRoot), StringComparison.OrdinalIgnoreCase))
|
|
|
{
|
|
{
|
|
|
// Diasllow changing the web root for consistency with other types.
|
|
// Diasllow changing the web root for consistency with other types.
|
|
|
throw new NotSupportedException($"The web root changed from \"{HostingPathResolver.ResolvePath(previousWebRoot, previousContentRoot)}\" to \"{HostingPathResolver.ResolvePath(_configuration[WebHostDefaults.WebRootKey], previousContentRoot)}\". Changing the host configuration using WebApplicationBuilder.WebHost is not supported. Use WebApplication.CreateBuilder(WebApplicationOptions) instead.");
|
|
throw new NotSupportedException($"The web root changed from \"{HostingPathResolver.ResolvePath(previousWebRoot, previousContentRoot)}\" to \"{HostingPathResolver.ResolvePath(_configuration[WebHostDefaults.WebRootKey], previousContentRoot)}\". Changing the host configuration using WebApplicationBuilder.WebHost is not supported. Use WebApplication.CreateBuilder(WebApplicationOptions) instead.");
|
|
@@ -56,7 +59,8 @@ public sealed class ConfigureWebHostBuilder : IWebHostBuilder, ISupportsStartup
|
|
|
// Disallow changing any host configuration
|
|
// Disallow changing any host configuration
|
|
|
throw new NotSupportedException($"The application name changed from \"{previousApplication}\" to \"{_configuration[WebHostDefaults.ApplicationKey]}\". Changing the host configuration using WebApplicationBuilder.WebHost is not supported. Use WebApplication.CreateBuilder(WebApplicationOptions) instead.");
|
|
throw new NotSupportedException($"The application name changed from \"{previousApplication}\" to \"{_configuration[WebHostDefaults.ApplicationKey]}\". Changing the host configuration using WebApplicationBuilder.WebHost is not supported. Use WebApplication.CreateBuilder(WebApplicationOptions) instead.");
|
|
|
}
|
|
}
|
|
|
- else if (!string.Equals(previousContentRoot, HostingPathResolver.ResolvePath(_configuration[WebHostDefaults.ContentRootKey]), StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
|
|
+ else if (!string.Equals(previousContentRootConfig, _configuration[WebHostDefaults.ContentRootKey], StringComparison.OrdinalIgnoreCase)
|
|
|
|
|
+ && !string.Equals(previousContentRoot, HostingPathResolver.ResolvePath(_configuration[WebHostDefaults.ContentRootKey]), StringComparison.OrdinalIgnoreCase))
|
|
|
{
|
|
{
|
|
|
// Disallow changing any host configuration
|
|
// Disallow changing any host configuration
|
|
|
throw new NotSupportedException($"The content root changed from \"{previousContentRoot}\" to \"{HostingPathResolver.ResolvePath(_configuration[WebHostDefaults.ContentRootKey])}\". Changing the host configuration using WebApplicationBuilder.WebHost is not supported. Use WebApplication.CreateBuilder(WebApplicationOptions) instead.");
|
|
throw new NotSupportedException($"The content root changed from \"{previousContentRoot}\" to \"{HostingPathResolver.ResolvePath(_configuration[WebHostDefaults.ContentRootKey])}\". Changing the host configuration using WebApplicationBuilder.WebHost is not supported. Use WebApplication.CreateBuilder(WebApplicationOptions) instead.");
|