Without SNS you can simply manipulate the code of an assembly. SNS adds a litte bit more security to your code (you need the key to resign an assembly after manipulation). Most of the professional developers enable SNS in their projects. The problem is, if my project use SNS - I can't load assemblies without SNS.
How to add SNS (very simple):
Go to the project settings
Select the menu entry - signing
Check "Sign assembly" and slect "New" from the drop down menu.
Enter a name for the key (you can enable password protection for your key) and click "Ok".
The new generated key will be added to your project - compile the solution
ensure that you exclude the key from the git repository (because if any other get this key file SNS is useless).
Please activate: Strong Name Signing