You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Error CS0433 The type 'SqlDataRecord' exists in both 'Microsoft.Data.SqlClient, Version=1.0.19128.1, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5' and 'System.Data.SqlClient, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
Any code that indirectly takes both those libs - which could be anything - becomes largely broken. Suggest it needs a new name (edit: or namespace) in the new lib.
The other solution is extern alias, which a: almost nobody knows how to use, b: doesn't work via reflection find, and c: can't be configured via nuget, which everyone uses these days.
The text was updated successfully, but these errors were encountered:
I suggest adding a unit test that builds a tree of all type names and compares them for matches. Anything that matches including the namespace is going to be a major PITA, unless you're actually doing type-forwarding, but: type-forwarding requires you to rebuild and redeploy the old assembly.
On the flip side, changing these makes migration to Microsoft.Data.SqlClient potentially expensive and viral. I'm curious to hear intent here, what's the goal - are these intentionally matching today? With transitive dependencies, matching types are absolutely going to break in very confusing ways for users...but goals would help advise on what out best path is.
Any code that indirectly takes both those libs - which could be anything - becomes largely broken. Suggest it needs a new name (edit: or namespace) in the new lib.
The other solution is extern alias, which a: almost nobody knows how to use, b: doesn't work via reflection find, and c: can't be configured via nuget, which everyone uses these days.
The text was updated successfully, but these errors were encountered: