Anda harus menandatangani majelis jika ingin menempatkannya di GAC .
Jika Anda menandatangani file yang dapat dieksekusi, maka semua perpustakaan kelas yang ditautkannya juga perlu ditandatangani. Ini bisa sulit jika Anda menggunakan perpustakaan pihak ketiga (terutama jika Anda perlu menggunakan kontrol ActiveX atau yang serupa).
Richard Grimes telah menulis lokakarya yang baik tentang keamanan di .NET dan itu termasuk bab tentang ini: Lokakarya Keamanan
Alasan untuk semua majelis yang ditandatangani dengan file .snk yang sama bisa jika ia menggunakan pengujian unit dengan cakupan kode. Untuk dapat melakukan cakupan kode (setidaknya dengan alat yang dibangun ke dalam versi pengujian Visual Studio 2005) dan jika rakitan ditandatangani, Anda perlu menentukan file .snk apa yang digunakan untuk penandatanganan, tapi saya pikir Anda hanya bisa tentukan satu file .snk untuk seluruh solusi, jadi jika Anda menandatangani berbagai pustaka kelas dengan file .snk yang berbeda, Anda hanya dapat memeriksa cakupan kode pada salah satu dari mereka sekaligus.