La signature d'assemblys utilisés dans un environnement de confiance me semble exagérée.
Un point intéressant sur les assemblys signés est qu'ils sont légèrement plus lents à charger que les assemblys non signés, car ils doivent être vérifiés par cryptographie.
Pour signer un assembly, tous les assemblys dont il dépend doivent également être signés. Je suppose que cela contribue au désir de votre collègue de tout signer - le compilateur l'exige.
EDIT Depuis la rédaction de cette réponse, vous pouvez voir que les camps pro et contre ont un support à peu près équivalent. Il n'y a clairement pas de bonne réponse ici.
Le point qui a motivé cette modification est que de nos jours, nous prenons tellement de bibliothèques open source de NuGet, et beaucoup d'entre elles ne sont pas signées du tout. Si vous souhaitez signer votre assembly, vous devez également signer toutes les dépendances. De nombreuses bibliothèques open source signées ont les clés privées utilisées pour la signature accessibles au public dans leurs référentiels source.
Comme pour tout, il y a des compromis à faire. D'après mon expérience de travail dans des environnements privés, les avantages de la signature sont principalement théoriques (ou académiques, comme le mentionne @ user289100 ), à moins que vous ne soyez préoccupé par le fait que les agences gouvernementales modifient votre code, auquel cas vous devez être paranoïaque sur tant de niveaux de votre infrastructure que la signature semblerait être un petit effort. Sinon, le nombre de défis qui découlent de l'obligation de tout signer ne semble pas en valoir la peine. Cependant, votre environnement peut avoir des exigences différentes, ou vous pouvez être masochiste!
Voir également la réponse de Teun D pour plus d'informations sur les défis liés aux assemblys de contrôle de version lors de l'utilisation de noms forts.