Pour modifier les propriétés communes à tous vos projets à la fois, vous pouvez importer un projet commun dans chacun d'eux. Oui, cela nécessite d'éditer tous vos projets actuels (bien qu'il ne soit pas si difficile d'écrire un script listant tous les fichiers .csproj/... avec recusrively et d'ajouter/supprimer quelques lignes), mais si vous devez faire des changements encore dans le futur ça va rendre les choses beaucoup plus faciles.
Par exemple, dans tous vos projets utilisent cette (comme dernière ligne avant la balise de fin):
<Import Project="..\templates\mydefaults.targets/>
Et mydefaults.targets, par exemple:
<Import Project="mypaths.targets"/>
<PropertyGroup>
<OutputPath>$(MyCommonBinDir)\(Configuration)$(PlatForm)\</OutputPath>
<BaseIntermediateOutputPath>$(MyTempDir)\$(AssemblyName)\</BaseIntermediateOutputPath>
</PropertyGroup>
Je tiens à garder le mypaths.target sépare: il définit MyCommonBinDir et MyTempDir, donc si je veux construire une branche de mon arbre source d'origine je dois seulement changer ce fichier pour définir les chemins de sortie pour tous les projets à la fois.