Tenía uno extraño que puede valer la pena documentar entre las otras posibilidades aquí ...
Agregué un proyecto compartido a mi solución, con código que se usó en dos o tres de los otros proyectos. Como ya sabe, los proyectos compartidos son solo código, y no realmente un proyecto en el sentido tradicional. No puede "construir" un proyecto compartido, es solo código que está incrustado en los otros proyectos y luego construido allí.
Pero de alguna manera mi archivo de solución se había actualizado como si el proyecto compartido fuera algo propio que necesitara ser construido. Supongo que cada vez que intentaba compilar y no había cambiado el código en el proyecto compartido, pensaba que 'nada ha cambiado, omita esas compilaciones'
Encontré el proyecto compartido en el solution.sln
archivo como:
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Api.Common", "Api.Common\Api.Common.shproj", "{EC580471-D78A-4509-AC46-BD565553AD60}"
..lo cual está bien. Lo que no está bien es que este proyecto también apareció en algo GlobalSection(ProjectConfigurationPlatforms) = postSolution
similar:
{EC580471-D78A-4509-AC46-BD565553AD60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EC580471-D78A-4509-AC46-BD565553AD60}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EC580471-D78A-4509-AC46-BD565553AD60}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EC580471-D78A-4509-AC46-BD565553AD60}.Release|Any CPU.Build.0 = Release|Any CPU
Eliminé esas cuatro líneas de mi .sln
archivo y ahora las cosas parecen felices de nuevo.
Build > Configuration Manager: check as needed