Чтобы подписать сборку A, необходимо убедиться, что все сборки B, C, D, используемые A, подписаны, а затем все сборки, используемые B, C, D и т. Д. Я не понимаю, в чем выгода для безопасности. Я думаю, что это должно предотвратить несанкционированное вмешательство, но сборка А может открыть любой файл, и это может быть подделано. То же самое касается внешнего веб-сервера.
Кроме того, слишком легко подписать сборку с помощью файла .snk, который вы публикуете, обходя требование.