Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-616

Remove strong naming

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.0
    • Affects Version/s: 1.6.1
    • Component/s: None
    • None
    • Environment:
      CLR
    • Minor Change

      I know we added strong naming in CSHARP-142, but strong naming is a seriously half-baked idea that causes more problems than it's worth. Every time the driver releases a patch version I spend a few hours in version hell with other libraries that require MongoDB (like ServiceStack.Authentication.MongoDB).

      By strong naming your assemblies, you force all intermediate consumers into ridiculously complex build processes that are impractical (especially when people are really just trying to use Mongo because it's "easy"). It's nearly impossible to release a library referencing Mongo that doesn't cause serious DLL hell every few weeks. There's supposedly a feature called "binding redirection" that is supposed to solve this, but almost never works; especially in unit test assemblies.

      At the very least, I ask that you maintain two NuGet packages (one with strong naming and one without) to appease the individuals for whom CSHARP-142 was intended. For the rest of us, I encourage you to have the unsigned DLLs be the default package.

            Assignee:
            craig.wilson@mongodb.com Craig Wilson
            Reporter:
            tkellogg Tim Kellogg
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: