Some ideas to try ...
As @David Paxson said in the comments, with some types (like C #, VB) all projects will seem to be “built-in”, but the compiler will skip those that do not need to be built much more quickly, even though they are still listed at the exit. Thus, perhaps this is just rebuilding everything. In addition, with C # Visual Studio sometimes starts a project several times in a row, and sometimes it will decide for no apparent reason that it needs to “rebuild” the projects, but this usually only takes a few seconds if you do not have hundreds of projects.
Restart Visual Studio (or even completely restart your computer).
Make a “Recover All” of the entire solution to clear any old cached information and make sure that all output files are updated.
If you use the source control, then it’s even better to check all your changes, and then delete the old folder with the source code (or safer, rename it somewhere aside until you know that you do not need it) and force - get all the latest source codes from source control again. This means that you have an absolutely clean starting point (clean or remodeled - all this, unfortunately, does not completely clear everything). I do this every 2-4 weeks so that everything works smoothly and is fully synchronized with the source control code.
If something changes the datestamps of any files in your assembly, it may cause a “need” to restore everything. Make sure that your system clock is set correctly, that there are no datastops of source files installed many times “in the future”, and there are no applications that could “touch” any of your source files.
Check this option: Tools-> Options> Projects and Solutions> Build and Run: "Create only run projects and Run dependencies." If it is not installed, VS will try to rebuild all the projects every time, and not just the project launch dependencies. If you have a great solution with a bunch of mostly unrelated projects, this is a very useful installation option.
If there are projects that you don’t need to create each time, use the configuration manager to disable building these projects in your current build (or create a Debug Fast Build configuration so you can quickly switch between full rebuild and partial build). Or move projects that you don’t often need to create in a separate “library” solution and link / link the output files (obj or dll) from your Solution application, so you only need to rebuild the libraries if you are editing their code.
Finally, make sure you are doing "Build" and not "Rebuild" :-)