Strong Naming: One Year Later

It is almost 1 year to the date of when I first posted JSON.NET Strong Naming And NuGet Woes and the NuGet compatibility issues have stabilized This stabilization hasn’t happened through a change from Microsoft, but a change in how publishers of NuGet packages version their libraries. I am writing this post, because even after one year I am getting very passionate comments on one side of the issue or not, people don’t seem to take a middle road on the strong naming issue. If you don’t believe me take a look at the comments. ...

April 2, 2013 · 3 min · 624 words · Nick Berardi

JSON.NET Strong Naming And NuGet Woes

This post requires a little understanding about how strong naming works. It’s complicated, but basically here is the jist: When you compile a library against a strong named assembly, only that specific version of the assembly can be used with the assembly that you are compiling with out resorting to heroics. You may say what is the big deal that is how all libraries are compiled and linked. But that isn’t true in .NET, if you don’t have a strongly named assembly, you have for better terms a weakly named assembly. And with weakly named assemblies there is no enforcement of the version, just the library name. So this makes it possible for developers to update a referenced library without actually recompiling the original library that referenced it. This is very powerful in the right hands, and pretty much what makes services like NuGet function with so many intermingling of references between projects. ...

April 3, 2012 · 4 min · 720 words · Nick Berardi