I didn't find this anywhere convenient when I was troubleshooting so I thought I'd post this here.
We have some large projects with a lot of dependency injection, and it was taking up to a minute to start a local dev API. After a lot of troubleshooting we found it was the dependency injection validation, which is optional and disabled in production - you can turn it off using:
in the ConfigureWebHostDefaults() section, before the webBuilder.UseStartup() call. (I'm pretty sure this is the default template but it's been a while since I set it up..)
Saves around 50 seconds when waiting for a local API to start - obviously you don't get nice messages if you've created an issue with your dependencies so be aware of that.
I'd probably also explicitly disable ValidateScopes when it's not a dev environment but that has a lower performance impact.
It always seemed like something that could be handled by a unit test. Assuming your registration code is able to be called independently, validating it once with a test at build time seems much more useful than wasting time at every startup for something that will be more or less static.