Trevlig ide.
Jo det borde vara relativt trivialt att sätta ihop ett eget litet lib med attributen och en konsoll-app som kan köras som build event som genererar DTO-klasserna och eventuellt Automapper-konfigurationer.
Om man vill lyxa till det går det säkert att jacka in kodgenereringen snyggare i MSBuild, så som till exempel NSwag gör när man använder det för att generera klienter (se Nuget-paketet NSwag.MSBuild).
Mina DTO:er har oftast olika request- och response-varianter som ärver från en gemensam basklass. Man kan ju till exempel vilja att request/POST-varianten ska sakna Id-property (det tilldelas av databasen), medan response/GET-varianten har Id-property. Sådant kan man ju vilja styra i genereringen, genom properties på attributen.
Edit: Det knepigaste är nog att få in nya DTO-.cs-filer i projektet. Kanske kan man nöja sig med att ha alla DTO-klasser i samma fil? Det är ju ändå inget man ska redigera för hand.