One of the higher voted issues recently has been
Add Strong Name. I resolved the issue today, but wanted to clarify what it really means and provide information for anyone that doesn't fully understand the use and impact of a strong name. Further, I want to highlight the fact that including a
strong name key file in an open source project does not increase security.
What I've decided to do is add the strong name key file to the solution to facilitate strong naming. This means that any binaries I publish will also contain this strong name. I've checked around and this approach is consistent with the way other
.NET open source projects handle strong naming.
*** WARNING: While this does add strong name versioning support, it does not add additional security. If you choose to use the LinqToTwitter.snk included in this project, be aware that this file contains the private key. Since the private key
is available, anyone can change the source code and use the same strong name. Therefore, using the LinqToTwitter.snk file included in the source code results in the same level of security as if you didn't use a strong name at all.
The benefit, in this case, of using the LinqToTwitter.snk to add a strong name to the assembly is to facilitate development scenarios that require a strong named assembly and to have a consistent strong name accross versions.