[CSHARP-616] Remove strong naming Created: 29/Oct/12  Updated: 08/May/15  Resolved: 14/Apr/14

Status: Closed
Project: C# Driver
Component/s: None
Affects Version/s: 1.6.1
Fix Version/s: 2.0

Type: Improvement Priority: Major - P3
Reporter: Tim Kellogg Assignee: Craig Wilson
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

CLR


Backwards Compatibility: Minor Change

 Description   

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.



 Comments   
Comment by Craig Wilson [ 08/May/15 ]

Currently we are only distributing an unsigned version.

Comment by Githook User [ 14/Apr/14 ]

Author:

{u'username': u'craiggwilson', u'name': u'Craig Wilson', u'email': u'craiggwilson@gmail.com'}

Message: CSHARP-616: removed strong naming and removed the keys.
Branch: master
https://github.com/mongodb/mongo-csharp-driver/commit/84cb77254e001cda0a267b58f760c615505b1205

Comment by Craig Wilson [ 29/Oct/12 ]

We are targeting 2.0 to remove signing. We will most likely release both a signed version and an unsigned version. Unfortunately, we don't have a planned release date for 2.0 as there are a number of changes and we want to make sure we get the bulk (if not all) of the breaking changes into 2.0.

Removing signing before the 2.0 time frame and without offering both versions could harm some of our other users.

If you really need the driver to be unsigned, please feel free to build from source the tagged version that we built from.

Generated at Wed Feb 07 21:37:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.