csprojs are literally the worst thing