New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ASP.NET Core 2.0.0-preview2 high-level planning #243

DamianEdwards opened this Issue May 15, 2017 · 0 comments


None yet
2 participants
Copy link

DamianEdwards commented May 15, 2017

Roughly in impact/priority order. This is high-level only and doesn't include all issues, bugs, etc. from every repo, just intended to give a general idea of milestone scope and direction.

  • Support .NET Framework
    • Min supported version 4.6.1 (to align with netstandard2.0)
    • Retarget all Microsoft.AspNetCore.* packages to netstandard2.0
      • Excludes the Microsoft.AspNetCore.All meta-package. This package will remain netcoreapp2.0 only as it is intended to be used along with the .NET Core 2.0 runtime store
    • Cross-compile packages to netcoreapp2.0 where necessary for API, e.g. cert generation in Identity Services diagnostics middleware
    • Fix issues of running on .NET Framework by way of:
      • Updating code to use new APIs in netstandard2.0
      • Disabling the feature when running on .NET Framework if APIs are only available in netcoreapp2.0
      • Cross-compiling to net461 when APIs are only available in net461 and netcoreapp2.0
    • Ensure all project tools work on .NET Framework
      • Tools that have to load the application are of particular importance, e.g. Razor view compilation (aspnet/MvcPrecompilation#128), Scaffolding (already works), EF (already works)
    • Add .NET Framework project templates (dotnet/templating#813)
      • These will specify their package dependencies much like the 1.1.x templates, using the smaller Microsoft.AspNetCore meta-package and other packages explicitly as necessary
  • Revisit logging changes (aspnet/Logging#623)
    • Consider ILoggerFactory wrapping as supported approach to "replacing" ILoggerFactory
    • Re-do the configuration-driven logger filtering design to address issues
  • Agree on design for convention-based configuration in our sub-systems (aspnet/MetaPackages#117) (cut)
    • We should always have IOptions<T> delegates as the first layer
    • Have IServiceCollection extension methods of agreed overloads for various scenarios, e.g. default configuration schema, specifying different section, etc.
    • Default schema for Kestrel endpoints (aspnet/KestrelHttpServer#1875)
    • Default schema for identity service settings (aspnet/Identity#1255)
    • Default schema for authentication settings (aspnet/Security#1245)
  • Harden hosting startup (aspnet/Hosting#1074)
    • Aggressively force loading of dependencies in our own implementations of IHostingStartup to avoid delayed load exceptions
    • Ensure VS doesn't attempt to enable hosting startup for AppInsights if application already depends on it explicitly
  • Add Identity options to Razor Pages project template (dotnet/templating#669) (cut)
  • Investigate ideas for improving throughput when running on the runtime store due to use of CrossGen (aspnet/Performance#232) (cut)
  • Packagize HealthChecks (dotnet-architecture/HealthChecks#7) (cut)
  • SPA Services
  • Kestrel
    • Edge-server readiness features, e.g. timeouts, limits
  • Dynamically register ITagHelperComponents per request (aspnet/Mvc#6282)
  • Finish Security redesign (aspnet/Security#1190)
  • Finalize design-time service provider (aspnet/DependencyInjection#524) (cut)
    • Agree on and implement final design for tools that wish to discover application services (including configuration) at design/build-time (cut)
  • Identity as a service updates (cut)

Discussion for this issue is at aspnet/AspNetCore#2032

@DamianEdwards DamianEdwards added this to the 2.0.0-preview2 milestone May 15, 2017

@aspnet aspnet locked and limited conversation to collaborators May 15, 2017

@danroth27 danroth27 added the 2.0.0 label Aug 3, 2017

@danroth27 danroth27 added 2.0.0 and removed 2.0.0 labels Aug 3, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.