Closed
Description
Updating ASP.NET Core to use C# 8's nullable reference types would:
- Help ASP.NET Core libraries avoid null reference exceptions internally. It will help us find and prevent our bugs and increase our developer productivity
- Provide guidance to developers who are using ASP.NET Core about which APIs can accept and return a null reference and which APIs can't. This would improve the developer experience of using ASP.NET Core
@rynowak @davidfowl @DamianEdwards @Eilon
Projects in no particular order
- Microsoft.AspNetCore.DataProtection.EntityFrameworkCore
- Microsoft.AspNetCore.DataProtection.StackExchangeRedis
- Microsoft.AspNetCore.TestHost
- Microsoft.AspNetCore.Hosting.WindowsServices
- Microsoft.AspNetCore.ApiAuthorization.IdentityServer
- Microsoft.AspNetCore.Identity.EntityFrameworkCore
- Microsoft.AspNetCore.Identity.Specification.Tests
- Microsoft.AspNetCore.Identity.UI
- Microsoft.AspNetCore.Authentication.Certificate
- Microsoft.AspNetCore.Authentication.Facebook
- Microsoft.AspNetCore.Authentication.Google
- Microsoft.AspNetCore.Authentication.JwtBearer
- Microsoft.AspNetCore.Authentication.MicrosoftAccount
- Microsoft.AspNetCore.Authentication.Negotiate
- Microsoft.AspNetCore.Authentication.OpenIdConnect
- Microsoft.AspNetCore.Authentication.Twitter
- Microsoft.AspNetCore.Authentication.WsFederation
- Microsoft.Extensions.Logging.AzureAppServices
- Microsoft.AspNetCore.ConcurrencyLimiter
- Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore
- Microsoft.AspNetCore.HeaderPropagation
- Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore
- Microsoft.AspNetCore.MiddlewareAnalysis
- Microsoft.AspNetCore.SpaServices.Extensions
- Microsoft.AspNetCore.Mvc.NewtonsoftJson
- Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation
- Microsoft.AspNetCore.Mvc.Testing
- Microsoft.AspNetCore.AzureAppServicesIntegration
- Microsoft.AspNetCore.SignalR.Client.Core
- Microsoft.AspNetCore.SignalR.Client
- Microsoft.AspNetCore.Http.Connections.Client
- Microsoft.AspNetCore.SignalR.Protocols.MessagePack
- Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson
- Microsoft.AspNetCore.SignalR.Specification.Tests
- Microsoft.AspNetCore.SignalR.StackExchangeRedis
- Microsoft.Authentication.WebAssembly.Msal
- Microsoft.JSInterop.WebAssembly
- Microsoft.AspNetCore.Components.WebAssembly.Server
- Microsoft.AspNetCore.Components.WebAssembly.Authentication
- Microsoft.AspNetCore.Components.WebAssembly
- Microsoft.AspNetCore
- Microsoft.AspNetCore.DataProtection.Abstractions
- Microsoft.AspNetCore.Cryptography.Internal
- Microsoft.AspNetCore.Cryptography.KeyDerivation
- Microsoft.AspNetCore.DataProtection
- Microsoft.AspNetCore.DataProtection.Extensions
- Microsoft.AspNetCore.Antiforgery
- Microsoft.AspNetCore.Hosting.Abstractions
- Microsoft.AspNetCore.Hosting
- Microsoft.AspNetCore.Hosting.Server.Abstractions
- Microsoft.AspNetCore.Authentication.Abstractions
- Microsoft.AspNetCore.Authentication.Core
- Microsoft.Net.Http.Headers
- Microsoft.AspNetCore.Http.Abstractions
- Microsoft.AspNetCore.Http.Extensions
- Microsoft.AspNetCore.Http.Features
- Microsoft.AspNetCore.Http
- Microsoft.AspNetCore.Metadata
- Microsoft.AspNetCore.Routing.Abstractions
- Microsoft.AspNetCore.Routing
- Microsoft.AspNetCore.WebUtilities
- Microsoft.AspNetCore.Html.Abstractions
- Microsoft.AspNetCore.Identity
- Microsoft.Extensions.Identity.Core
- Microsoft.Extensions.Identity.Stores
- Microsoft.AspNetCore.Connections.Abstractions
- Microsoft.AspNetCore.Server.HttpSys
- Microsoft.AspNetCore.Server.IISIntegration
- Microsoft.AspNetCore.Server.IIS
- Microsoft.AspNetCore.Server.Kestrel.Core
- Microsoft.AspNetCore.Server.Kestrel
- Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets
- Microsoft.AspNetCore.Authentication.Cookies
- Microsoft.AspNetCore.Authentication
- Microsoft.AspNetCore.Authentication.OAuth
- Microsoft.AspNetCore.Authorization
- Microsoft.AspNetCore.Authorization.Policy
- Microsoft.AspNetCore.CookiePolicy
- Microsoft.AspNetCore.Cors
- Microsoft.AspNetCore.Diagnostics.Abstractions
- Microsoft.AspNetCore.Diagnostics
- Microsoft.AspNetCore.Diagnostics.HealthChecks
- Microsoft.AspNetCore.HostFiltering
- Microsoft.AspNetCore.HttpOverrides
- Microsoft.AspNetCore.HttpsPolicy
- Microsoft.AspNetCore.Localization.Routing
- Microsoft.AspNetCore.Localization
- Microsoft.AspNetCore.ResponseCaching.Abstractions
- Microsoft.AspNetCore.ResponseCaching
- Microsoft.AspNetCore.ResponseCompression
- Microsoft.AspNetCore.Rewrite
- Microsoft.AspNetCore.Session
- Microsoft.AspNetCore.StaticFiles
- Microsoft.AspNetCore.WebSockets
- Microsoft.AspNetCore.Razor.Runtime
- Microsoft.AspNetCore.Razor
- Microsoft.AspNetCore.Mvc.Abstractions
- Microsoft.AspNetCore.Mvc.ApiExplorer
- Microsoft.AspNetCore.Mvc.Core
- Microsoft.AspNetCore.Mvc.Cors
- Microsoft.AspNetCore.Mvc.DataAnnotations
- Microsoft.AspNetCore.Mvc.Formatters.Json
- Microsoft.AspNetCore.Mvc.Formatters.Xml
- Microsoft.AspNetCore.Mvc.Localization
- Microsoft.AspNetCore.Mvc.RazorPages
- Microsoft.AspNetCore.Mvc.Razor
- Microsoft.AspNetCore.Mvc.TagHelpers
- Microsoft.AspNetCore.Mvc.ViewFeatures
- Microsoft.AspNetCore.Mvc
- Microsoft.AspNetCore.Http.Connections.Common
- Microsoft.AspNetCore.Http.Connections
- Microsoft.AspNetCore.SignalR.Protocols.Json
- Microsoft.AspNetCore.SignalR.Common
- Microsoft.AspNetCore.SignalR.Core
- Microsoft.AspNetCore.SignalR
- Microsoft.AspNetCore.Components.Authorization
- Microsoft.AspNetCore.Components
- Microsoft.AspNetCore.Components.Forms
- Microsoft.AspNetCore.Components.Server
- Microsoft.AspNetCore.Components.Web
- Microsoft.Extensions.FileProviders.Embedded
- Microsoft.Extensions.Caching.SqlServer
- Microsoft.Extensions.Caching.StackExchangeRedis
- Microsoft.Extensions.Configuration.KeyPerFile
- Microsoft.Extensions.Localization.Abstractions
- Microsoft.Extensions.Localization
- Microsoft.Extensions.ObjectPool
- Microsoft.JSInterop
- Microsoft.Extensions.WebEncoders
- Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions
- Microsoft.Extensions.Diagnostics.HealthChecks
Skipped (potentially no longer commonly used, potential future removal, only used in tests, internal project, etc)
- Microsoft.AspNetCore.Owin
- Microsoft.AspNetCore.Testing
- Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv
- Microsoft.AspNetCore.Authentication.AzureAD.UI
- Microsoft.AspNetCore.Authentication.AzureADB2C.UI
- Microsoft.AspNetCore.JsonPatch
- Microsoft.AspNetCore.NodeServices
- Microsoft.AspNetCore.SpaServices
Skipped (not for public consumption)
- Microsoft.AspNetCore.DeveloperCertificates.XPlat